Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: r2montero en 26 de Agosto 2015, 18:19
-
Hola, por favor ayuda con la revisión:
public class Medico {
private String nombre,
apellido,
numeroDocumentoIdentidad,
especialidad;
private boolean casado;
private int edad;
//Constructor
public Medico() {
nombre = "Desconocido";
apellido = "Desconocido";
numeroDocumentoIdentidad = "Desconocido";
especialidad = "Desconocida";
casado = false;
edad = 99;
}// Constructor End
public void setNombre(String name) {
System.out.println("Ha cambiado el nombre del medico " + nombre);
System.out.println("El nuevo nombre es " + name);
nombre = name;
}//End of setNombre
public void setApellido(String lastName) {
System.out.println("Ha cambiado el apellido del medico " + nombre + " " + apellido);
System.out.println("El nuevo apellido es " + lastName);
apellido = lastName;
}//End of setApellido
public void setNumDocId(String idNumber) {
System.out.println("Ha cambiado la identificacion del medico " + nombre + " " + apellido);
System.out.println("El anterior numero de identificacion era " + numeroDocumentoIdentidad);
System.out.println("El nuevo numero de identificacion es " + idNumber);
numeroDocumentoIdentidad = idNumber;
}//End of setNumDocId
public void setEspecialidad(String specialty) {
System.out.println("Ha cambiado la especialidad del médico de nombre " + nombre);
System.out.println("La Especialidad anterior era " + especialidad + " La nueva Especialidad es " + specialty);
especialidad = specialty;
}//End of setEspecialidad
public void setCasado(boolean maritalSt) {
String estadoCivil1;
String estadoCivil2;
if(casado == false) estadoCivil1 = "Casado";
else estadoCivil1 = "Soltero";
if(maritalSt == false) estadoCivil2 = "Casado";
else estadoCivil2 = "Soltero";
System.out.println("Ha cambiado Estado Civil del médico " + nombre + " " + apellido);
System.out.println("El estado civil anterior era " + estadoCivil1 + " El nuevo estado civil es " + estadoCivil2);
casado = maritalSt;
}//End of setCasado
public void setEdad(int age) {
System.out.println("Ha cambiado la edad del médico " + nombre + " " + apellido);
System.out.println("La edad anterior era " + edad + " La edad actualizada es " + age);
edad = age;
}//End of setEdad
public String getNombre() {
return nombre;
}//End of getNombre
public String getApellido() {
return apellido;
}//End of getApellido
public String getNumDocId() {
return numeroDocumentoIdentidad;
}//End of getNumDocId
public String getEspecialidad() {
return especialidad;
}//End of getEspecialidad
public boolean getCasado() {
return casado;
}//End of getCasado
public int getEdad() {
return edad;
}//End of getEdad
public void print() {
}//End of print
}//End of Medico
Saludos!
-
Hola r2montero!
A continuación la revisión
De acuerdo con el programa del curso todavía no se ha explicado ni se exige en los ejercicios el uso de condicionales. El uso de if else no es necesario para resolver este ejercicio. Por otro lado, los condicionales que has planteado no funcionan bien, ya que al establecer casado = true aparece el mensaje "El nuevo estado civil es Soltero
", lo cual no es cierto.
Los atributos recomendamos inicializarlos a cadena vacía "" para String, false para booleanos y 0 para valores numéricos.
Has declarado un método print pero está vacío, no se sabe cuál es su utilidad.
Este ejercicio puede mirarse como referencia
Saludos!
-
Gracias Cesar!
No me había dado cuenta de que los condicionales los había puesto al revés :-[
Los puse porque me pareció raro que el programa dijera todo en español y dijera algo como "es true que el doctro x está casado" y no se si hay otra forma de hacer la "traducción".
Las variables las inicialice en "desconocido" y 99 por costumbre, pues el profe de la U nos pide que no le demos las mismas inicializaciones predeterminadas, ya lo anoté para la próxima.
Respecto al método print() en un principio lo iba a usar y se me olvidó quitarlo al final (eso me pasa bastante seguido).
Como siempre mil gracias por la enseñanza!
public class Medico {
private String nombre,
apellido,
numeroDocumentoIdentidad,
especialidad;
private boolean casado;
private int edad;
//Constructor
public Medico() {
nombre = "";
apellido = "";
numeroDocumentoIdentidad = "";
especialidad = "";
casado = false;
edad = 0;
}// Constructor End
public void setNombre(String name) {
System.out.println("Ha cambiado el nombre del medico " + nombre);
System.out.println("El nuevo nombre es " + name);
nombre = name;
}//End of setNombre
public void setApellido(String lastName) {
System.out.println("Ha cambiado el apellido del medico " + nombre + " " + apellido);
System.out.println("El nuevo apellido es " + lastName);
apellido = lastName;
}//End of setApellido
public void setNumDocId(String idNumber) {
System.out.println("Ha cambiado la identificacion del medico " + nombre + " " + apellido);
System.out.println("El anterior numero de identificacion era " + numeroDocumentoIdentidad);
System.out.println("El nuevo numero de identificacion es " + idNumber);
numeroDocumentoIdentidad = idNumber;
}//End of setNumDocId
public void setEspecialidad(String specialty) {
System.out.println("Ha cambiado la especialidad del médico de nombre " + nombre);
System.out.println("La Especialidad anterior era " + especialidad + " La nueva Especialidad es " + specialty);
especialidad = specialty;
}//End of setEspecialidad
public void setCasado(boolean maritalSt) {
String estadoCivil1;
String estadoCivil2;
if(casado == false) estadoCivil1 = "Soltero";
else estadoCivil1 = "Casado";
if(maritalSt == false) estadoCivil2 = "Soltero";
else estadoCivil2 = "Casado";
System.out.println("Ha cambiado Estado Civil del médico " + nombre + " " + apellido);
System.out.println("El estado civil anterior era " + estadoCivil1 + " El nuevo estado civil es " + estadoCivil2);
casado = maritalSt;
}//End of setCasado
public void setEdad(int age) {
System.out.println("Ha cambiado la edad del médico " + nombre + " " + apellido);
System.out.println("La edad anterior era " + edad + " La edad actualizada es " + age);
edad = age;
}//End of setEdad
public String getNombre() {
return nombre;
}//End of getNombre
public String getApellido() {
return apellido;
}//End of getApellido
public String getNumDocId() {
return numeroDocumentoIdentidad;
}//End of getNumDocId
public String getEspecialidad() {
return especialidad;
}//End of getEspecialidad
public boolean getCasado() {
return casado;
}//End of getCasado
public int getEdad() {
return edad;
}//End of getEdad
}//End of Medico