Autor Tema: (CU00633B: java) Revision ejercicio operadores aritméticos  (Leído 3354 veces)

@dib_vz

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 11
    • Ver Perfil
(CU00633B: java) Revision ejercicio operadores aritméticos
« en: 09 de Noviembre 2014, 17:53 »
Aquí os dejo mi ejercicio del curso aprender a programar java desde cero, referente a la introducción de métodos para cálculos aritméticos.

Código: [Seleccionar]
/* Version 0.013 Medico

Novedades:

- incluido el método para calculo de operaciones aritméticas en función del valor de la edad

 */

public class Medico {
    private String nombre;
    private String apellido;
    private int edad;
    private boolean casado;
    private String dni;
    private String especialidad;
    private int multiploEdad;

    // constructor

    public Medico () {
        nombre = "tu nombre";
        apellido = "tu apellido";
        edad = 0;
        casado = false;
        dni = "00000000X";
        especialidad = "tu especialidad";
    }

    //     métodos de procedimiento

    public void setNombre (String valorNombre) {
        nombre = valorNombre;
        System.out.println("Se ha modificado el nombre del médico a: " + nombre);
    }

    public void setApellido (String valorApellido) {
        apellido = valorApellido;
        System.out.println("Se ha modificado el apellido del médico " + nombre + " a: " + apellido);
    }

    public void setEdad (int valorEdad) {
        edad = valorEdad;
        System.out.println("Se ha modificado la edad del médico " + nombre + " " + apellido + " a: " + edad + " años");
    }

    public void setCasado (boolean valorCasado) {
        casado = valorCasado;
        if (casado == false) {
            System.out.println("El estado civil del médico " + nombre + " " + apellido + " es soltero");
        }
        else {
            System.out.println("El estado civil del médico " + nombre + " " + apellido + " es casado");
        }
    }

    public void setDni (String valorDni) {
        dni = valorDni;
        System.out.println("Se ha modificado el DNI del médico " + nombre + " " + apellido + " a: " + dni);
    }

    public void setEspecialida (String valorEspecialidad) {
        especialidad = valorEspecialidad;
        System.out.println("Se ha modificado la especialidad del médico " + nombre + " " + apellido + " a: " + especialidad);
    }

    //     método para el calculo del múltiplo de 5

    public void setCalculoMultiploEdad () {
        int multiplo = edad%5;
        multiploEdad = 5 - multiplo;
        System.out.println("El médico " + nombre + " " + apellido + " de " + edad + " años, tendrá una edad múltiplo de 5 dentro de " + multiploEdad + " años");
    }

    // ----------------------------------------------------------------------------------------------------------------------

    // métodos funcion

    public String getNombre () {
        return nombre;
    }

    public String getApellido () {
        return apellido;
    }

    public int getEdad () {
        return edad;
    }

    public boolean getCasado () {
        return casado;
    }

    public String getDni () {
        return dni;
    }

    public String getEspecialidad() {
        return especialidad;
    }
}

El programa funciona, pero estoy abierto a vuestras recomendaciones

Un saludo
« Última modificación: 10 de Noviembre 2014, 09:08 por toni_apr »

toni_apr

  • Avanzado
  • ****
  • Mensajes: 497
  • Curiosidad, es uno de los pilares del Conocimiento
    • Ver Perfil
Re:(CU00633B: java) Revision ejercicio operadores aritméticos
« Respuesta #1 en: 10 de Noviembre 2014, 09:43 »
Hola @dib_vz
Tu ejercicio hace referencia a la entrega del curso CU00633B no a la CU00631B

El propósito principal de este ejercicio, lo cumples con el código del método
public void setCalculoMultiploEdad ()
que realiza el cálculo perfectamente.

No obstante aprovecho para reforzar conceptos a tener en cuenta.

Los atributos de una clase han de ser independientes. Es decir un atributo no puede depender de otro.
Si es el caso debemos crear un método que calcule el segundo atributo  tomando al primero como base.
En la clase, el atributo
private int multiploEdad;
depende sin duda completamente del atributo
private int edad;
Así pues, multiploEdad dejará de ser atributo de la clase (no es necesario)

Cuando se piden para el constructor inicializar con los valores por defecto se refiere a:
String se inicializa a cadena vacía. nombre = ""
int se inicializa a cero. edad = 0
boolean se inicializa a false. Aquí lo has hecho correctamente

Resumiendo, al método
public void setCalculoMultiploEdad ()
le cambiamos el nombre a:
public void calculoMultiploEdad ()
y su contenido cambia a:
Código: [Seleccionar]
public void calculoMultiploEdad () {
        int multiplo = edad%5;
        int multiploEdad = 5 - multiplo;
        System.out.println("El médico " + nombre + " " + apellido + " de " + edad + " años, tendrá una edad múltiplo de 5 dentro de " + multiploEdad + " años");
    }

Hay que hacer notar que la variable multiplo no tiene un nombre adecuado, debería ser algo como restoDivision por ejemplo. Lo mismo le ocurre a la variable multipoEdad

Nota final: El propósito de los setters y getters es establecer el valor y devolver el valor de los atributos de la clase. Y no deben hacer otra cosa como presentar mensajes por pantalla.
En este curso se os ha pedido que hagaís eso en ejercicios puntuales solo para que veais que al ejecutar esos métodos se ejecuta todo el código que hay en su interior.

Saludos

 

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