Autor Tema: Java Operadores aritmeticos tener claro concepto constructor Ejercicio CU00633B  (Leído 2813 veces)

Chompy129

  • Intermedio
  • ***
  • Mensajes: 130
  • Programar es divertido. :)
    • Ver Perfil
Operadores aritméticos en Java. +, -, *, / y %. Operador mod o resto de una división entre enteros. (CU00633B)

Recomiendo usar pirmero el método asignarRapido(.....), para indicar mas rápido las diferentes características. Aquí les dejo el ejercicio:

Código Java
Código: [Seleccionar]
/**
 * Indica las caracteristicas de un medico.
 * Se añaden metodos extra.
 * @author Chompy129
 * @version 1.1
 */
public class Medico_1{
    String nombre;                    //Nombre del medico
    String apellido;                  //Apellido del medico
    int edad;                         //Su edad
    boolean casado;                   //¿Esta casado?
    String numeroDocumentoIdentidad;  //Su numero de identidad
    String especialidad;              //Su especialidad

    public Medico_1(){
        nombre= "";
        apellido= "";
        edad= 0;
        casado= false;
        numeroDocumentoIdentidad= "CI-0";
        especialidad= "";
    }
    //Metodos: setters and getters

    public void setNombre(String valueName){
        nombre= valueName;
        System.out.println("Se ha cambiado el nombre del medico a: "+nombre);
    }
    public void setApellido(String valueApellido){
        apellido= valueApellido;
        System.out.println("Se ha cambiado el apellido del medico a: "+apellido);
    }
    public void setEdad(int valueEdad){
        edad= valueEdad;
        System.out.println("Se ha cambiado la edad del medico a: "+edad);
    }
    public void setCasado(boolean valueCasado){
        casado= valueCasado;
        System.out.println("El medico ahora esta casado: "+casado);
    }
    public void setNumeroDocumentoIdentidad(String valueNumeroDocumentoIdentidad){
        numeroDocumentoIdentidad= "CI-"+valueNumeroDocumentoIdentidad;
        System.out.println("Se ha cambiado el numero de identidad del medico a: "+numeroDocumentoIdentidad);
    }
    public void setEspecialidad(String valueEspecialidad){
        especialidad= valueEspecialidad;
        System.out.println("Se ha cambiado la especialidad del medico a: "+especialidad);
    }
    public String getNombre(){ return nombre;}
    public String getApellido(){return apellido;}
    public int getEdad(){return edad;}
    public boolean getCasado(){return casado;}
    public String getNumeroDocumentoIdentidad(){return numeroDocumentoIdentidad;}
    public String getEspecialidad(){return especialidad;}
   
    //Metodos Extra
    public void calculoParaMultiploEdad(){
       System.out.println("El medico "+nombre+" "+apellido+" con especialidad en "+especialidad+" tendra una edad multiplo de 5 dentro de "+(5-edad%5)+" año/s.");
    }
    public void asignarRapido(String valueNombre, String valueApellido, int valueEdad, boolean valueCasado, int valueNumeroDocumentoIdentidad, String valueEspecialidad){ // Define las caracteristicas escensiales
       nombre= valueNombre;
       apellido= valueApellido;
       edad= valueEdad;
       casado= valueCasado;
       numeroDocumentoIdentidad= "CI-"+valueNumeroDocumentoIdentidad;
       especialidad= valueEspecialidad;
       System.out.println("Se ha añadido un medico, sus caracteristicas son:\nNombre: "+nombre+"\nApellido: "+apellido+"\nEdad: "+edad+"\nCasado: "+casado+"\nNumero del documento de identidad: "+numeroDocumentoIdentidad+"\nEspecialidad: "+especialidad+"\n");
    }
}


Link de la clase: https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=462:operadores-aritmeticos-en-java-y-operador-mod-o-resto-de-una-division-entre-enteros-cu00633b&catid=68:curso-aprender-programacion-java-desde-cero&Itemid=188

« Última modificación: 18 de Diciembre 2016, 12:48 por Alex Rodríguez »

camoay

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 44
    • Ver Perfil
Re:Java. Operadores aritmeticos. Ejercicio CU00633B
« Respuesta #1 en: 07 de Diciembre 2016, 01:13 »
Hola Chompy129, el ejercicio está bien planteado hasta que llegamos al método AsignarRápido() donde veo que no tienes claro el concepto de "constructor" de una clase.
Lo que tu llamas AsignarRápido() quitándole la última línea, es un constructor de la clase Medico_1. Tu puedes tener varios constructores en una clase, aparte del constructor por defecto: Medico_1(){}, variarán unos de otros en  función del número y tipo de sus parámetros y cuando crees un objeto, dependiendo del número y tipo de parámetros con que lo crees, java elegirá automáticamente el constructor mas adecuado de entre los que tengas definidos en la clase o te dará un error de compilación si no lo encuentra.
Todos los constructores tienen el mismo nombre ( el de la clase).

La última linea de ese método se corresponde con el método calculoParaMultiploEdad(), por lo que sería inncesaria. Rehaz el ejercicio según estas indicaciones y pruébalo. Si tienes dudas lo vuelves a publicar.

Saludos

Chompy129

  • Intermedio
  • ***
  • Mensajes: 130
  • Programar es divertido. :)
    • Ver Perfil
Re:Java. Operadores aritmeticos. Ejercicio CU00633B
« Respuesta #2 en: 07 de Diciembre 2016, 04:45 »
Bueno aquí tienes el nuevo código:

Código: [Seleccionar]
/**
 * Indica las caracteristicas de un medico.
 * Se añaden metodos extra.
 * @author Chompy129
 * @version 1.2
 */
public class Medico_1{
    String nombre;                    //Nombre del medico
    String apellido;                  //Apellido del medico
    int edad;                         //Su edad
    boolean casado;                   //¿Esta casado?
    String numeroDocumentoIdentidad;  //Su numero de identidad
    String especialidad;              //Su especialidad

    public Medico_1(){
        nombre= "";
        apellido= "";
        edad= 0;
        casado= false;
        numeroDocumentoIdentidad= "CI-0";
        especialidad= "";
    }
    public Medico_1(String valueNombre, String valueApellido, int valueEdad, boolean valueCasado, int valueNumeroDocumentoIdentidad, String valueEspecialidad){ // Define las caracteristicas escensiales
       nombre= valueNombre;
       apellido= valueApellido;
       edad= valueEdad;
       casado= valueCasado;
       numeroDocumentoIdentidad= "CI-"+valueNumeroDocumentoIdentidad;
       especialidad= valueEspecialidad;
    }
    //Metodos: setters and getters

    public void setNombre(String valueName){
        nombre= valueName;
        System.out.println("Se ha cambiado el nombre del medico a: "+nombre);
    }
    public void setApellido(String valueApellido){
        apellido= valueApellido;
        System.out.println("Se ha cambiado el apellido del medico a: "+apellido);
    }
    public void setEdad(int valueEdad){
        edad= valueEdad;
        System.out.println("Se ha cambiado la edad del medico a: "+edad);
    }
    public void setCasado(boolean valueCasado){
        casado= valueCasado;
        System.out.println("El medico ahora esta casado: "+casado);
    }
    public void setNumeroDocumentoIdentidad(String valueNumeroDocumentoIdentidad){
        numeroDocumentoIdentidad= "CI-"+valueNumeroDocumentoIdentidad;
        System.out.println("Se ha cambiado el numero de identidad del medico a: "+numeroDocumentoIdentidad);
    }
    public void setEspecialidad(String valueEspecialidad){
        especialidad= valueEspecialidad;
        System.out.println("Se ha cambiado la especialidad del medico a: "+especialidad);
    }
    public String getNombre(){ return nombre;}
    public String getApellido(){return apellido;}
    public int getEdad(){return edad;}
    public boolean getCasado(){return casado;}
    public String getNumeroDocumentoIdentidad(){return numeroDocumentoIdentidad;}
    public String getEspecialidad(){return especialidad;}
   
    //Metodos Extra
    public void calculoParaMultiploEdad(){
       System.out.println("El medico "+nombre+" "+apellido+" con especialidad en "+especialidad+" tendra una edad multiplo de 5 dentro de "+(5-edad%5)+" año/s.");
    }
}

Coloque el asignarRapido(...) a modo de constructor (creo que no he llegado a esa parte del curso), y dejo la operación que pidieron en el ejercicio.

ESOJ

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 143
    • Ver Perfil
Re:Java. Operadores aritmeticos. Ejercicio CU00633B
« Respuesta #3 en: 07 de Diciembre 2016, 06:50 »
Buenos días.
El ejercicio es correcto.

Si quieres puedes ver como lo ha hecho otro compañero y cometarios en este enlace:
https://www.aprenderaprogramar.com/foros/index.php?topic=5217.msg20771#msg20771
Un saludo.

camoay

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 44
    • Ver Perfil
Re:Java. Operadores aritmeticos. Ejercicio CU00633B
« Respuesta #4 en: 07 de Diciembre 2016, 11:38 »
Hola Chompy129, como te ha dicho el compañero ESOJ , el ejercicio está correcto y la primera versión para el nivel del curso que llevas, también. Lo que te he explicado es una avanzadilla que verás en la lección 40.

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