Autor Tema: "Aprender programación Java desde cero" CU00633-revisión de ejercicio.  (Leído 3849 veces)

serietaruzjf

  • Sin experiencia
  • *
  • Mensajes: 5
    • Ver Perfil
Hola buenas tardes quiero que por favor le dieran un vistazo a mi código para ver que hay que mejorar. Gracias!! :)

Código: [Seleccionar]
//AUTOR:SERGIO MENDIETA
//C. IZCALLI MÉXICO
public class Medico
{
    String nombre;
    String apellidos;
    int edad;
    boolean casado;
    String folioidentificacion;
    String especialidad;
    int multiplo;
   
    public Medico()
    {
        nombre = "DESCONOCIDO";
        apellidos = "DESCONOCIDOS";
        edad = 0;
        casado = false;
        folioidentificacion = "DESCONOCIDO";
        especialidad = "DESCONOCIDA";
        multiplo = 0;
    }
   
    public void setNombre (String valorNombre)
    {
        System.out.println ("El médico ha pasado de tener un nombre " + nombre + " por el nombre de " + valorNombre +"" );
        nombre = valorNombre;
    }
    public void setApellidos (String valorApellidos)
    {
        System.out.println ("El médico " + nombre + " ha cambiado sus apellidos de " + apellidos + " por los de " + valorApellidos +"");
        apellidos = valorApellidos;
    }
    public void setEdad (int valorEdad)
    {
        System.out.println ("El médico " + nombre + " " + apellidos + " ha actualizado su edad de " + edad + " años por la de " + valorEdad + " años");
        edad = valorEdad;
        multiplo = 5-(valorEdad%5);
        System.out.println ("El médico " + nombre + " " + apellidos + " con especialidad en " + especialidad + " tendrá una edad multiplo de 5 dentro de " + multiplo + " años.");
    }
    public void setCasado (boolean valorCasado)//INDIQUE SI ES CASADO O SOLTERO
       {
        System.out.println ("El médico " + nombre + " " + apellidos + " ha actualizado su estado civil a " + valorCasado + "");
        casado = valorCasado;
    }
    public void setFolioidentificacion (String valorFolioidentificacion)
    {
        System.out.println ("El médico " + nombre + " " + apellidos + " ha actualizado su número de identificación de " + folioidentificacion + " al número " + valorFolioidentificacion + "");
        folioidentificacion = valorFolioidentificacion;
    }
    public void setEspecialidad (String valorEspecialidad)
    {
        System.out.println ("El médico " + nombre + " " + apellidos + " ha actualizado su especialidad de " + especialidad + " a la especialidad en " + valorEspecialidad + "");
        especialidad = valorEspecialidad;
    }
    public String getNombre () {return nombre; }
    public String getApellidos () {return apellidos; }
    public int getEdad () {return edad; }
    public boolean getCasado () {return casado; }
    public String getFolioidentificacion () { return folioidentificacion; }
    public String getEspecialidad () {return especialidad; }
}
Gracias por la sabiduría :)

toni_apr

  • Avanzado
  • ****
  • Mensajes: 497
  • Curiosidad, es uno de los pilares del Conocimiento
    • Ver Perfil
Hola Sergio.
He visto tu código y lo he probado. Funciona sin errores.

Quiero comentarte cosas que has hecho y podías mejorar.

En el método setEdad() has incluido el código para mostrar los años que le faltan al médico para tener una edad múltiplo de 5.
Te confirmo que es un código válido y funciona. Pero, si relees el enunciado del ejercicio, verás que se pide crear un método.
Citar
Define un método de nombre
“calculoParaMultiploEdad” que no recibe parámetros y es tipo procedimiento
Este método ha de ser como entenderás independiente del método setEdad().
Nota: los métodos que empiezan por set... y get... de las clases, usados para establecer y obtener los atributos de la clase respectivamente, tienen un único propósito: set para establecer y get para devolver los valores de los atributos, y para nada más.
Piensa que con tu código, para saber si la edad del médico será múltiplo de 5 dentro de pocos años, has de cambiar su edad con setEdad()
De la otra forma, en cualquier momento, incluso sin conocer la edad del médico, el método calculoParaMultiploEdad() siempre te devolverá los años que le faltan al médico para que su edad sea múltiplo de 5.

Por último veo que usas un atributo de nombre 'folioidentificacion', válido como cualquier otro, cumple con la excepción de no empezar con una cifra.
Pero, hay una convención entre otras, al escribir código en java de:
A la hora de poner nombres a las variables y métodos con nombres compuestos: Empezar con minúscula y las siguientes palabras empezarlas con mayúscula (práctica que facilita su lectura)

Las convenciones son opcionales, yo puedo poner a una variable que acumula el número de vecinos de una escalera el nombre de: "String hpg5u;" también puedo poner "String numerodevecinos;" o "String numeroDeVecinos; o "String numeroTotalDeVecinosDeLaEscalera;"
Los dos últimos ejemplos cumplen la convención.

Saludos y adelante.

serietaruzjf

  • Sin experiencia
  • *
  • Mensajes: 5
    • Ver Perfil
Muchísimas gracias por tu ayuda, cada vez se me hace mas fácil seguir el tutorial. Corregiré las observaciones que me has dado, saludos! ;)
Gracias por la sabiduría :)

 

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".