Autor Tema: Ejercicio Operadores aritméticos en Java. +, -, *, / y %. Operador mod o resto d  (Leído 3002 veces)

Boletos

  • Principiante
  • **
  • APR2.COM
  • Mensajes: 57
    • Ver Perfil
Hola compañeros de aprendiendo a programar!!
Para empezar no se si es aqui donde tengo que insertar esto si no es así, os ruego me disculpéis y corrijais.
 Hasta ahora he intentado ir corrigiendo mis ejercicios punteándolos por las soluciones expuestas en el foro pero, siempre me queda alguna duda con respecto al léxico que utilizo, que no sé si es del todo correcto. Es por esto que me decidí a insertar mi ejercicio para que, por favor, me digáis que es lo que estoy haciendo mal o no es del todo correcto, aunque no me da error de sintaxis. Intentaré molestar en la menor forma posible
Muchas gracias por vuestro trabajo, es increíble
Código: [Seleccionar]
/**
 * Clase Medico1 cuyo fin es realizar los primeros cálculos con la variable edad
 * aprenderAProgramar.com apunte (CU00633B)
 */
public class Medico1
{
    //Declaración de variables
    private String nombre;
    private String apellidos;
    private int edad;
    private boolean casado;
    private String dni;
    private String especialidad;
    //Constructor se da valor a las variables
    public Medico1()
    {
        nombre = "Desconocido";
        apellidos = "Desconocidos";
        edad = 0;
        casado = false;
        dni = "Desconocido";
        especialidad = " ";
    }
    //Metodos para establecer atributos
    public void tomaNombre(String valorNombre){nombre = valorNombre;}

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

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

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

    public void tomaDni(String valorDni){dni = valorDni;}

    public void tomaEspecialidad(String valorEspecialidad){especialidad = valorEspecialidad;}
    //Calcula cuantos años faltan para que la edad sea múltiplo de 5
    public void calculoParaMultiploEdad()
    {
        int restan;
        restan = 5 - (edad % 5);
        System.out.println("El médico de nombre " + nombre + " " + apellidos + " con especialidad " + especialidad + " tendrá una edad múltiplo de 5 dentro de " + restan + " años.");
    }
    //Metodos para obtener atributos
    public String muestraNombre(){return nombre;}

    public String muestraApellidos(){return apellidos;}

    public int muestraEdad(){return edad;}

    public boolean muestraCasado(){return casado;}

    public String muestraDni(){return dni;}

    public String muestraEspecialidad(){return especialidad;}

}
Espero haber insertado bien el código.
Aún no entiendo muy bien como funciona esto de "Clases, objetos". Hace tiempo programé en Cóbol y algo en VisualBasic. Estoy empezando con vuestro curso y es GENIAL!! Pero aún estoy un poco perdido, son muchas las preguntas pero...  poco a poco.
Muchas gracias!!

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Hola Boletos :) , sí aquí puedes insertar mensajes con ejercicios o consultas

Sobre poner los ejercicios en los foros decirte que no molestas, al revés, recomendamos que las personas que siguen el curso peguen el código con las soluciones propuestas para poder saber si van bien. Entre todas las personas que estamos en los foros tratamos de ir corrigiendo los ejercicios de otros compañeros. Muchas de las personas que ayudan corrigiendo son personas que han terminado algún curso y ayudan colaborando en responder a otras personas.

El código está bien pegado. Un detalle que debes tener en cuenta es que si abres un tema sobre un ejercicio debes colocar el título del ejercicio en el título, por ejemplo en este caso el título debería mejor ser: "Ejercicio Operadores aritméticos en Java. +, -, *, / y %. Operador mod CU00633B"

Al incluir el código facilitas que la persona que va a corregir sepa a qué ejercicio te refieres, y también facilitas que se pueda localizar el tema a través de los buscadores de los foros.

Paso ahora a comentar tu código y ejercicio. Debes tener en cuenta lo siguiente:

- Las variables o atributos de clase las tienes bien definidas

- El constructor lo tienes bien definido, aunque conviene que te vayas acostumbrando a seguir los convenios de la programación java. De acuerdo con estos convenios las variables String se inicializan a "", las numéricas a cero, y las booleanas a false. Si seguimos este convenio el constructor nos quedaría:

Código: [Seleccionar]
    public Medico1()
    {
        nombre = "";
        apellidos = "";
        edad = 0;
        casado = false;
        dni = "";
        especialidad = "";
    }

Ten en cuenta que no es lo mismo "" (cadena vacía) que " " (un espacio).

Los métodos para establecer atributos por convenio se nombran empezando con set, por ejemplo setNombre.

Los métodos para recuperar atributos por convenido se nombran con get, por ejemplo getNombre

Finalmente indicarte que la clase es "un molde" para crear luego tantos objetos como quieras. Por ejemplo, tienes un molde para crear médicos, y luego creas un medico1, un medico2, un medico3... por ello el nombre de la clase es preferible que sea Medico en lugar de Medico1.

Con todos estos detalles te recomendaría que repitas el ejercicio para asentarlos.

Saludos

Wolfus

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 6
    • Ver Perfil
hola!

Tras muchos intentos sin éxito he decidido mirar el ejercicio del compañero de arriba.
He reproducido el mismo programa pero no me funcionaba hasta que he hecho la operación sin añadir el "public void calculoParaMultiploEdad()" no se por qué.

ahí va el código:

Código: [Seleccionar]
//Ejercicio página 32
public class Medico{
    private String nombre;
    private String apellidos;
    private int edad;
    private boolean casado;
    private String numeroDocumentoIdentidad;
    private String especialidad;

    //Constructor
    public Medico(){
        nombre = "";
        apellidos = "";
        edad = 0;
        casado = false;
        numeroDocumentoIdentidad = "";
        especialidad = "";
    }
    //Set valores
    //Set nombre
    public void setNombre (String valorNombre){
        nombre = valorNombre;
    }

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

    //Set edad
    public void setEdad (int valorEdad){
        edad = valorEdad;
        System.out.println("La edad ha cambiado y ahora es de "+edad+" años");
   
     
        int resultado;
   
        resultado = 5 - (edad % 5);
        System.out.println("El médico de nombre " + nombre + " con especialidad " + especialidad + " tendrá una edad múltiplo de 5 dentro de " + resultado + " años.");
    }
   
    //Set casado
    public void setCasado (boolean valorCasado){
        casado = valorCasado;
    }

    //Set DNI
    public void setNumerodocumentoidentidad (String valorNumerodocumentoidentidad){
        numeroDocumentoIdentidad = valorNumerodocumentoidentidad;
    }

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

    //Método para calcular los años que faltan para llegar a un múltiplo de 5
   
    //Get valores
    public String getNombre() {return nombre;}

    public String getApellidos() {return apellidos;}

    public int getedad() {return edad;}

    public boolean getcasado() {return casado;}

    public String getnumeroDocumentoIdentidad() {return numeroDocumentoIdentidad;}

    public String getEspecialidad() {return especialidad;}

}


Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Hola Wolfus, en primer lugar indicarte que para pegar una solución a un ejercicio debes abrir un nuevo tema, no responder sobre un tema ya existente.

Tu ejercicio no está bien resuelto. El método setEdad unicamente debe servir para establecer el atributo edad. Un método debe tener un fin o misión concreto y no hacer nada más (excepto si lo pide el ejercicio).

Te recomiendo que revises y corrijas el ejercicio antes de seguir avanzando. Si en algún momento el código no te compila o no te funciona bien y no eres capaz de resolverlo, pégalo e indica qué mensaje de error estás obteniendo o el problema que estás observando, viendo el código que te da problemas intentaremos ayudarte a resolverlo.

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