Autor Tema: Comprobar si un atributo de clase cambia Java CU00632B ejercicio tutorial  (Leído 3400 veces)

emilanesi

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 2
    • Ver Perfil
Hola!! Soy nuevo en el foro, comencé hace unos días a ver el curso desde cero de java.
Quisiera consultar si está bien el código del siguiente ejercicio:

EJERCICIO

Citar
Considera estás desarrollando un programa Java donde necesitas trabajar con objetos de tipo Medico (que representa a un médico de un hospital). Define una clase Medico considerando los siguientes atributos de clase: nombre (String), apellidos (String), edad (int), casado (boolean), numeroDocumentoIdentidad (String), especialidad (String). Define un constructor asignando unos valores de defecto a los atributos y los métodos para poder establecer y obtener los valores de los atributos. En cada método, incluye una instrucción para que se muestre por consola un mensaje informando del cambio. Por ejemplo si cambia la especialidad del médico, debe aparecer un mensaje que diga: “Ha cambiado la especialidad del médico de nombre … . La nueva especialidad es: …”. Compila el código para comprobar que no presenta errores, crea un objeto, usa sus métodos y comprueba que aparezcan correctamente los mensajes por consola.

Mi código

Código: [Seleccionar]
public class Medico{
    private String nombre;
    private String apellidos;
    private int edad;
    private boolean casado;
    private String numeroDocumentoIdentidad;
    private String especialidad;
   
    //Constructor
    public Medico(){
        nombre = "Desconocido";
        apellidos = "Desconocido";
        edad = 0;
        casado = false;
        numeroDocumentoIdentidad = "0";
        especialidad = "Desconocido";
    }
   
    //Metodos de ingreso
    public void setNombre(String valorNombre){
        if (nombre != valorNombre){
            System.out.println ("Se cambio el nombre del médico de " + nombre + " a " + valorNombre);
        }
        nombre = valorNombre;
    }
    public void setApellidos(String valorApellidos){
        if (apellidos != valorApellidos){
            System.out.println ("Se cambío el Apellido del médico de nombre " + nombre + " a " + valorApellidos);
        }
        apellidos = valorApellidos;
    }
    public void setEdad(int valorEdad){
        if (edad != valorEdad){
            System.out.println ("Se cambio la Edad del médico de " + edad + " a " + valorEdad);
        }
        edad = valorEdad;
    }   
    public void setCasado(boolean valorCasado){
        if (casado != valorCasado){
            System.out.println ("Ha cambiado la condición del médico de nombre: " + nombre + " a " + valorCasado);
        }
        casado = valorCasado;
    }   
    public void setEspecialidad(String valorEspecialidad){
        if (especialidad != valorEspecialidad){
            System.out.println ("Ha cambiado la especialidad del médico de nombre " + nombre + ". La nueva especialidad es: " + valorEspecialidad);
        }
        especialidad = valorEspecialidad;
    }
    public void setNumeroDocumentoIdentidad(String valorNumeroDocumentoIdentidad){
        if (numeroDocumentoIdentidad != valorNumeroDocumentoIdentidad){
            System.out.println ("Ha cambiado el DNI del médico de nombre " + nombre + " a " + valorNumeroDocumentoIdentidad);
        }
        numeroDocumentoIdentidad = valorNumeroDocumentoIdentidad;
    }
   
    //Metodos de Funcion para mostrar valores
    public String getNombre(){
        return nombre;
    }   
    public String getApellidos(){
        return apellidos;
    }
    public int getEdad(){
        return edad;
    }
    public boolean getCasado(){
        return casado;
    }   
    public String getNumeroDocumentoIdentidad(){
        return numeroDocumentoIdentidad;
    }
    public String getEspecialidad(){
        return especialidad;
    }   
 
}

Les agradeceria sus comentarios

Gracias!!!!

Saludos!!!
« Última modificación: 10 de Abril 2015, 09:03 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2662
    • Ver Perfil
Hola emilanesi lo primero por ser nuevo es pedirte que leas esto https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0
donde se encuentran indicaciones sobre cómo pegar código en el foro.

Tu ejercicio está bien resuelto. Verás que en muchos ejercicios usamos nombre = ""; que significa cadena vacía, en lugar de nombre = "Desconocido"; pero no está mal como tú lo has hecho.

Esto creo que lo puedes mejorar:

System.out.println ("Ha cambiado la condición del médico de nombre: " + nombre + " a " + valorCasado);

Prueba a ver el resultado y verás que el mensaje que sale es poco entendible. Seguro que puedes idear una forma de mostrar un mensaje más entendible.

Salu2


emilanesi

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 2
    • Ver Perfil
Muchisimas gracias por la respuesta.

Saludos!!!

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".