Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado 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.
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.
-
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
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
-
Muchisimas gracias por la asesoria.
-
System.out.println("El medico de nombre \"" + nombre + "\" ha cambiado su atributo casado de " + casado + ", a " + valorCasado);
en esta instrucción, para qué es "\"?
-
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
-
Buen dato