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: Dimitar Stefanov en 27 de Febrero 2016, 19:14

Título: Java el nombre de las variables debe comenzar por minúscula convención CU00632B
Publicado por: Dimitar Stefanov en 27 de Febrero 2016, 19:14
Buenas tardes.

A continuación pongo la solución del ejercicio CU00632B del curso Java desde cero.

Citar
EJERCICIO

Considera estás desarrollando un programa Java donde necesitas trabajar con objetos de tipo Medico (que representa a un médico de un hospital). Define una clase Medico considerando los siguientes atributos de clase: nombre (String), apellidos (String), edad (int), casado (boolean), numeroDocumentoIdentidad (String), especialidad (String). Define un constructor asignando unos valores de defecto a los atributos y los métodos para poder establecer y obtener los valores de los atributos. En cada método, incluye una instrucción para que se muestre por consola un mensaje informando del cambio. Por ejemplo si cambia la especialidad del médico, debe aparecer un mensaje que diga: “Ha cambiado la especialidad del médico de nombre … . La nueva especialidad es: …”. Compila el código para comprobar que no presenta errores, crea un objeto, usa sus métodos y comprueba que aparezcan correctamente los mensajes por consola. Para comprobar si es correcta tu solución puedes consultar en los foros aprenderaprogramar.com.

Código: [Seleccionar]
public class Medico{
    private String nombre;
    private String apellidos;
    private int edad;
    private boolean casado;
    private String numeroDocumentoIdentidad;
    private String especialidad;
   
    public Medico(){
        nombre = "";
        apellidos = "";
        edad = 31;
        casado = false;
        numeroDocumentoIdentidad = "";
        especialidad = "";
    }
   
    public void setNombre(String Nombre){
        System.out.println("Ha cambiado el nombre del médico de nombre: " + nombre + " a: " + Nombre);
        nombre = Nombre;
    }
   
    public void setApellidos(String Apellidos){
        System.out.println("Han cambiado los apellidos del médico de: " + apellidos + " a: " + Apellidos);
        apellidos = Apellidos;
    }
   
    public void setEdad(int Edad){
        System.out.println("Ha cambiado la edad del médico de: " + edad + " a: " + Edad);
        edad = Edad;
    }
   
    public void setNumeroDocumentoIdentidad(String NumeroDocumentoIdentidad){
        System.out.println("Ha cambiado el DNI del médico de: " + numeroDocumentoIdentidad + " a: " + NumeroDocumentoIdentidad);
        numeroDocumentoIdentidad = NumeroDocumentoIdentidad;
    }
   
    public void setEspecialidad(String Especialidad){
        System.out.println("Ha cambiado la especialidad del médico de nombre: " + nombre + " La nueva especialidad es: " + especialidad);
        especialidad = Especialidad;
    }
   
    public String getNombre(){
        return nombre;
    }
   
    public String getApellidos(){
        return apellidos;
    }
   
    public int getEdad(){
        return edad;
    }
   
    public boolean getCasado(){
        return casado;
    }
   
    public String getDNI(){
        return numeroDocumentoIdentidad;
    }
   
    public String getEspecialidad(){
        return especialidad;
    }
}

Gracias
Título: Re:CU00632B
Publicado por: Enzo en 28 de Febrero 2016, 15:48
Hola Dimiste,

Como tal, la estructura del programa esta bien y funciona.

Lo único es que el nombre de las variables debe comenzar por minúscula. no es una norma obligatoria y por eso funciona el programa, pero, como veras mas adelante, es una norma de buen uso, por ejemplo, para diferenciar una variable con el nombre de una clase (Que si comienza por mayúscula).

En el caso concreto de este ejercicio, puedes poner como nombre de las variables locales usadas en cada método, cualquiera que comience por minúscula y se diferencie de las variables de la clase, como por ejemplo algo como <nuevoNombre>, <nuevosApellidos>, etc.

Y, por ejemplo, el método para un nuevo nombre quedaría así:
Código: [Seleccionar]
public void setNombre(String nuevoNombre){
        System.out.println("Ha cambiado el nombre del médico de nombre: " + nombre + " a: " + nuevoNombre);
        nombre = nuevoNombre;
    }

Espero haberte sido de ayuda,

Un Saludo,
Título: Re:CU00632B
Publicado por: Dimitar Stefanov en 28 de Febrero 2016, 19:31
Buenas tardes, Enzo.

Y tanto que me has ayudado. Gracias por la observacion y por corregir el ejercicio.

Saludos.