Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: tripeador en 03 de Febrero 2017, 19:48

Título: Operadores aritméticos en Java ejemplo de uso operador módulo ejercicio CU00633B
Publicado por: tripeador en 03 de Febrero 2017, 19:48
Lo primero y mas correcto es saludar a todos los miembros del foro y presentarme, soy totalmente nuevo en programación y aunque este curso recomendaba conocimientos en otros temas "Es recomendable, aunque no imprescindible, que el alumno tenga
conocimientos básicos de algoritmia y de algún otro lenguaje de programación."
, le he echado valor y lo estoy intentando sin esos conocimiento previos, hasta el momento voy sobreviviendo y sacando adelante los ejercicios con cierta (bastante) ayuda de este foro y repasando temas pasados para afianzar conceptos.

Paso a introducir el código correspondiente al ejercicio indicado en el asunto, he aprovechado (obviamente) el código de otro ejercicio anterior así que si alguien ve algún fallo en el mismo o me da alguna recomendación lo agradeceria enormemente.

Código: [Seleccionar]
/**
 * Write a description of class MEDICO2 here.
 *
 * @author (your name)
 * @version (a version number or a date)
 */
public class MEDICO2
{
    // instance variables
    private String nombre;
    private String apellidos;
    private int edad;
    private boolean casado;
    private String númeroDocumentoIdentidad;
    private String especialidad;

    //CONSTRUCTOR
    public MEDICO2()
    {
        // initialise instance variables
        nombre  = "DESCONOCIDO";//Nombre del médico
        apellidos = "DESCONOCIDOS";//Apellidos de médico
        edad = 0;//Edad del médico
        casado = false;//Estado civil de médico, casado si/no
        númeroDocumentoIdentidad = "";//DNI del médico
        especialidad = "DESCONOCIDA";//Especialidad del médico
    }

    //    MÉTODOS

    //Métodos para establecer los valores asignados al médico
    public void setNombre (String valorNombre) {
        nombre = valorNombre;
        System.out.println ("Se ha cambiado el nombre del médico a: " +nombre);
    }

    public void setApellidos (String valorApellidos) {
        apellidos = valorApellidos;
        System.out.println ("Se han cambiado los apellidos del médico a: "+apellidos);
    }

    public void setEdad (int valorEdad) {
        edad = valorEdad;
        System.out.println ("La edad actual del médico es: "+edad + " años");
    }

    public void setCasado (boolean valorCasado) {
        casado = valorCasado;
        System.out.println ("Actualmente el médico "+casado + "está casado");
    }

    public void setNúmeroDocumentoIdentidad (String valorNúmeroDocumentoIdentidad) {
        númeroDocumentoIdentidad = valorNúmeroDocumentoIdentidad;
        System.out.println ("El nuevo número del Documento de Identidad del médico es "+númeroDocumentoIdentidad);
    }

    public void setEspecialidad (String valorEspecialidad) {
        especialidad = valorEspecialidad;
        System.out.println ("Ha cambiado la especialidad del médico de nombre "+nombre  + " La nueva especialidad es: "+especialidad);
    }

    //Método para calcular cuantos años le faltan al médico para que su edad sea multiplo de 5 e imprimirlo en pantalla
    public void calculoParaMultipoEdad () {
        System.out.println ("El médico llamado " + nombre + " especializado en " + especialidad + " dentro de " + (5-(edad % 5)) + " años tendrá una edad multiplo de 5");
    }

    //Métodos para obtener los valores asignados al médico
    public String getNombre () {return nombre;}

    public String getApellidos () {return apellidos;}

    public int getEdad () {return edad;}

    public boolean getCasado () {return casado;}

    public String getNúmeroDocumentoIdentidad () {return númeroDocumentoIdentidad;}

    public String getEspeciadidad () {return especialidad;}

}
Título: Re:Operadores aritméticos en Java. +, -, *, / Y %. Ejercicio CU00633B.
Publicado por: pedro,, en 04 de Febrero 2017, 13:47
Hola tripeador.

Lo primero darte la bienvenida.

Tu ejercicio resuelve lo que pedía el enunciado, solo comentarte algunas cosas:

Normalmente cuando se pide dar unos valores por defecto en un constructor, sera "" para los String, 0 para atributos numéricos y false para booleanos.

Como veo que aprovechaste el código del ejercicio anterior, también comentarte que los métodos setter solo deben de usarse para establecer el valor del atributo al que representan y no para mostrar mensajes por consola.

También estaría bien que los nombres de las clases no nombrarlos solo con mayúsculas, esto es por tema de convención.

Saludos. ;D
Título: Re:Operadores aritméticos en Java. +, -, *, / Y %. Ejercicio CU00633B.
Publicado por: tripeador en 04 de Febrero 2017, 19:34
Muchas gracias, he realizado las modificaciones que me indicas en cuanto a los valores de los atributos por defecto así como al nombre de la clase, en cuanto a los setters también los he modificado y he creado un nuevo método para mostrar los mensajes por consola, adjunto a coninuación el nuevo código a ver si es correcto.

los métodos setters tenían el codico para imprimir por sonsola por que el ejercicio lo pedia así, era el del tema CU00632B y habia que imprimir mensaje cuando hubiera modificaciones en los atributos.
Código: [Seleccionar]
public class Médico2
{
    // instance variables
    private String nombre;
    private String apellidos;
    private int edad;
    private boolean casado;
    private String númeroDocumentoIdentidad;
    private String especialidad;

    //CONSTRUCTOR
    public Médico2()
    {
        // initialise instance variables
        nombre  = "";//Nombre del médico
        apellidos = "";//Apellidos de médico
        edad = 0;//Edad del médico
        casado = false;//Estado civil de médico, casado si/no
        númeroDocumentoIdentidad = "";//DNI del médico
        especialidad = "";//Especialidad del médico
    }

    //    MÉTODOS

    //Métodos para establecer los valores asignados al médico
    public void setNombre (String valorNombre) {
        nombre = valorNombre;
    }

    public void setApellidos (String valorApellidos) {
        apellidos = valorApellidos;
    }

    public void setEdad (int valorEdad) {
        edad = valorEdad;
    }

    public void setCasado (boolean valorCasado) {
        casado = valorCasado;
    }

    public void setNúmeroDocumentoIdentidad (String valorNúmeroDocumentoIdentidad) {
        númeroDocumentoIdentidad = valorNúmeroDocumentoIdentidad;
    }

    public void setEspecialidad (String valorEspecialidad) {
        especialidad = valorEspecialidad;
    }

    //Método para calcular cuantos años le faltan al médico para que su edad sea multiplo de 5 e imprimirlo en pantalla
    public void calculoParaMultipoEdad () {
        System.out.println ("El médico llamado " + nombre + " especializado en " + especialidad + " dentro de " + (5-(edad % 5)) + " años tendrá una edad multiplo de 5");
    }

    //Métodos para imprimir en consola
    public void imprimirCambios (){
    System.out.println ("Se ha cambiado el nombre del médico a: " +nombre);
    System.out.println ("Se han cambiado los apellidos del médico a: "+apellidos);
    System.out.println ("La edad actual del médico es: "+edad + " años");
    System.out.println ("Actualmente el médico "+casado + " está casado");
    System.out.println ("El nuevo número del Documento de Identidad del médico es "+númeroDocumentoIdentidad);
    System.out.println ("Ha cambiado la especialidad del médico de nombre "+nombre  + " La nueva especialidad es: "+especialidad);   
}
    //Métodos para obtener los valores asignados al médico
    public String getNombre () {return nombre;}

    public String getApellidos () {return apellidos;}

    public int getEdad () {return edad;}

    public boolean getCasado () {return casado;}

    public String getNúmeroDocumentoIdentidad () {return númeroDocumentoIdentidad;}

    public String getEspeciadidad () {return especialidad;}

}