Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: rlopez.rjls en 01 de Abril 2015, 19:23

Título: CU00632B Ejemplo java mostrar por pantalla con System.out.println
Publicado por: rlopez.rjls en 01 de Abril 2015, 19:23
Buenas quisiera consultarles sobre el programa de la unidad ya nombrada. el programa medico. quisiera saber si pude haberlo hecho mas reducido y tambien que me gustaria que me corrigieran en caso de tener algun detalle.

Código: [Seleccionar]
public class Medico
{
    private String nombre;
    private String apellidos;
    private int edad;
    private boolean casado;
    private String numeroIdentidad;
    private String especialidad;

 
    public Medico()
    {
       
        nombre = "Desconocido";
        apellidos = "Desconocido";
        edad = 0;
        casado = false;
        numeroIdentidad = "Desconocido";
        especialidad = "Desconocida";
    }
   
   
    public void setNombre (String valorNombre){
    String nombre1 = nombre;
    nombre = valorNombre;
    System.out.println ("Ha cambiado el nombre: " + nombre1 + "\n" + "Al nombre: " + valorNombre);
}

    public void setApellidos (String valorApellido){
    String apellido1 = apellidos;
    apellidos = valorApellido;
    System.out.println ("Ha cambiado el apellido: " + apellido1 + "\n" + "Al apellido: " + valorApellido);
}
 
    public void setEdad (int valorEdad){
    int edad1 = edad;
    edad = valorEdad;
    System.out.println ("Ha cambiado la edad: " + edad1 + "\n" + "A la edad: " + valorEdad);
}

  public void setCasado (boolean valorCasado){
    boolean casado1 = casado;
    String situacion;
    if(casado1 == true)
    situacion = "Casado/a";
    else
    situacion = "Soltero/a";
    casado = valorCasado;
   
    String situacion2;
    if(valorCasado == true)
    situacion2 = "Casado/a";
    else
    situacion2 = "Soltero/a";
   
    System.out.println ("Ha cambiado la sutuacion de: " + situacion + "\n" + "A la situacion de: " + situacion2);
}

    public void setNumeroIdentidad (String valorIdentidad){
    String identidad1 = numeroIdentidad;
    numeroIdentidad = valorIdentidad;
    System.out.println ("Ha cambiado la edad: " + identidad1 + "\n" + "A la edad: " + valorIdentidad);
}


    public void setEspecialidad (String valorEspecialidad){
    String especialidad1 = especialidad;
    especialidad = valorEspecialidad;
    System.out.println ("Ha cambiado la edad: " + especialidad1 + "\n" + "A la edad: " + valorEspecialidad);
}

 public String getNombre(){return nombre;}
 public String getApellido(){return apellidos;}
 public int getEdad(){return edad;}
 public boolean getCasado(){return casado;}
 public String getnumeroIdentidad(){return numeroIdentidad;}
 public String getEspecialidad(){return especialidad;}
}

Muchas gracias de antemano.
Título: Re:CU00632B Programa "Medico" mostrar por pantalla
Publicado por: toni_apr en 01 de Abril 2015, 22:26
Hola rlopez

Tu ejercicio cumple las peticiones.
Declaras atributos correctamente. Pero no los inicializas a sus valores por defecto.

Los valores por defecto para los atributos son:
String a cadena vacía ""
int a cero 0
double a cero 0.0
float a cero 0.0f
boolean a false

Los getters están perfectos.
Los setters también están bien. Hacen lo solicitado, cambiar el valor del atributo y presentar el mensaje por consola.

Presentar este mensaje, no es tarea habitual de un setter. Se os ha pedido aquí para que comprobeis que Java ejecuta todo el código que hay dentro del método (incluso presentar mensajes)

Aunque has trabajado bastante para crear un  setCasado que lo controla todo. Te pongo un método con menos código
Código: [Seleccionar]
    public void setCasado (boolean valorCasado){
        System.out.println("El medico de nombre \"" + nombre + "\" ha cambiado su atributo casado de " + casado + ", a " + valorCasado);
        casado = valorCasado;
    }

Saludos
Título: Re:CU00632B Programa "Medico" mostrar por pantalla
Publicado por: rlopez.rjls en 02 de Abril 2015, 01:47
Muchisimas gracias por la asesoria.
Título: Re:CU00632B Ejemplo java mostrar por pantalla con System.out.println
Publicado por: riniguezb@hotmail.com en 04 de Abril 2015, 19:34
Código: [Seleccionar]
System.out.println("El medico de nombre \"" + nombre + "\" ha cambiado su atributo casado de " + casado + ", a " + valorCasado);
en esta instrucción, para qué es "\"?
Título: Re:CU00632B Ejemplo java mostrar por pantalla con System.out.println
Publicado por: toni_apr en 04 de Abril 2015, 21:33
Hola riniguez

Esto "\" es para lo siguiente:
El primer " es para empezar un texto que se encierra entre comillas dobles, creo que ya lo sabes.
Y lo siguiente \" es la forma de que en el texto aparezca el carácter de comillas dobles sin que Java lo tome como el inicio o fin de un texto entrecomillado.

Saludos
Título: Re:CU00632B Ejemplo java mostrar por pantalla con System.out.println
Publicado por: rlopez.rjls en 04 de Abril 2015, 23:50
Buen dato