Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: chema en 07 de Enero 2016, 17:31
-
Hola a todos. Ruego revisen mi solución para este ejercicio. Gracias.
Saludos.
Chema.
/* Ejemplo - aprenderaprogramar.com */
//Esta clase representa a un Medico.
public class Medico { //El nombre de la clase
private String nombre; //Nombre de cada objeto medico
private String apellidos; // Apellidos de cada objeto medico
private int edad; // Edad de la medico
private boolean esCasado; // ¿Esta casado este medico?
private String numeroDocumentoIdentidad; // Numero de documento de identidad de cada medico
private String especialidad; // Especialidad de cada objeto medico
private String cadena; // Cadena auxiliar para no mostrar variables vacias en las impresiones de consola
private String cadena2; // Cadena auxiliar para no mostrar variables vacias en las impresiones de consola
private int anyosFaltan; // Calculo de años para el procedimiento calculParaMultiploEdad
//Constructor: cuando se cree un objeto medico se ejecutará el código que incluyamos en el constructor
public Medico () {
nombre = "";
apellidos = "";
edad = 0;
esCasado = false;
numeroDocumentoIdentidad = "";
especialidad = "";
cadena = "";
cadena2 = "";
anyosFaltan = 0;
} //Cierre del constructor … el código continúa …
//Método para establecer el nombre de un medico
public void setNombre (String valorNombre) {
if (this.nombre.equals("")) cadena = "desconocido";
else cadena = this.nombre;
System.out.println("Ha cambiado el nombre del médico " + cadena + ". El nuevo nombre es: " + valorNombre);
nombre = valorNombre; //El nombre del objeto medico adopta el valor que contenga valorNombre
} //Cierre del método
//Método para establecer los apellidos de un medico
public void setApellidos (String valorApellidos) {
if (this.nombre.equals("")) cadena = "desconocido";
else cadena = this.nombre;
if (this.apellidos.equals("")) cadena2 = "desconocidos";
else cadena2 = this.apellidos;
System.out.println("Han cambiado los apellidos del médico de nombre " + cadena + ". Los antiguos apellidos eran "+
cadena2 + " y los nuevos apellidos son: " + valorApellidos);
apellidos = valorApellidos; //Los apellidos del objeto medico adopta el valor que contenga valorApellidos
} //Cierre del método
//Método para establecer la edad de un medico
public void setEdad (int valorEdad) {
if (this.nombre.equals("")) cadena = "desconocido";
else cadena = this.nombre;
if (this.edad==0) cadena2 = "desconocida";
else cadena2 = this.edad + "";
System.out.println("Ha cambiado la edad del médico de nombre " + cadena + ". La antigua edad era "+
cadena2 + " y la nueva edad es: " + valorEdad);
edad = valorEdad; //La edad del objeto medico adopta el valor que contenga valorEdad
} //Cierre del método
//Método para establecer el esCasado de un medico
public void setCasado (boolean valorCasado) {
if (this.nombre.equals("")) cadena = "desconocido";
else cadena = this.nombre;
System.out.println("Ha cambiado el estado civil del médico de nombre " + cadena + ". El antiguo estado civil era "+
this.esCasado + " y el nuevo estado civil es: " + valorCasado);
esCasado = valorCasado; //El esCasado del objeto medico adopta el valor que contenga valorCasado
} //Cierre del método
//Método para establecer el numeroDocumentoIdentidad de un medico
public void setDNI (String valorDNI) {
if (this.nombre.equals("")) cadena = "desconocido";
else cadena = this.nombre;
if (this.numeroDocumentoIdentidad.equals("")) cadena2 = "desconocido";
else cadena2 = this.numeroDocumentoIdentidad;
System.out.println("Ha cambiado el numero de documento de identidad del médico de nombre " + cadena + ". El antiguo numero de documento de identidad era "+
cadena2 + " y el nuevo documento de identidad es: " + valorDNI);
numeroDocumentoIdentidad = valorDNI; //El numeroDocumentoIdentidad del objeto medico adopta el valor que contenga valorDNI
} //Cierre del método
//Método para establecer la especialidad un medico
public void setEspecilidad (String valorEspecialidad) {
if (this.nombre.equals("")) cadena = "desconocido";
else cadena = this.nombre;
if (this.especialidad.equals("")) cadena2 = "desconocida";
else cadena2 = this.especialidad;
System.out.println("Ha cambiado la especialidad del médico de nombre " + cadena + ". La antigua especialidad era "+ cadena2
+" y la nueva especialidad es: " + valorEspecialidad);
especialidad = valorEspecialidad; // La especilidad del objeto medico adopta el valor que contenga valorEspecialidad
} //Cierre del método
//Método para obtener el nombre del objeto medico
public String getNombre () { return nombre; } //Cierre del método
//Método para obtener los apellidos del objeto medico
public String getApellidos () { return apellidos; } //Cierre del método
//Método para obtener la edad del objeto medico
public int getEdad () { return edad; } //Cierre del método
//Método para obtener el esCasado del objeto medico
public boolean getEsCasado () { return esCasado; } //Cierre del método
//Método para obtener el numeroDocumentoIdentidad del objeto medico
public String getDNI () { return numeroDocumentoIdentidad; } //Cierre del método
//Método para obtener el especialidad del objeto medico
public String getEspecialidad () { return especialidad; } //Cierre del método
// Procedimiento para calcular los años hasta el proximo multiplo de 5.
public void calculoParaMultiploEdad (){
if (this.edad>0) {
if (this.edad%5 == 0) anyosFaltan=0;
else anyosFaltan = 5- (this.edad % 5);
}
else{
System.out.println("La edad del médico debe ser mayor de 0 años y El médico de nombre " + this.nombre + " con especialidad " + this.especialidad +
" tiene una edad actualmente de: " + this.edad + " años. Modifica la edad y vuelve a ejecutar este procedimiento.");
}
if (anyosFaltan == 0){
System.out.println("El médico de nombre " + this.nombre + " con especialidad " + this.especialidad +
" tiene una edad múltiplo de 5 actualmente.");
}else{
System.out.println("El médico de nombre " + this.nombre + " con especialidad " + this.especialidad +
" tendrá una edad múltiplo de 5 dentro de " + anyosFaltan + " años.");
}
} //Fin del procedimiento calculoParaMultiploEdad
} //Cierre de la clase
-
Hola de nuevo chema!
ya probe el codigo y funciona de maravilla! tu clase esta bien comentada y bien escrita !
Salu2!!
-
Muchas gracias Dan_SB.
-
Hola, para quienes lean este ejercicio comentar que aunque se han usado if, para esta entrega del curso todavía no se han explicado los if, por tanto de acuerdo con el programa del curso no deberían usarse aún. Quien quiera consultar la solución de acuerdo con el programa del curso puede mirar https://www.aprenderaprogramar.com/foros/index.php?topic=2145.0
Saludos