Autor Tema: CUOO632b tutorial java desde cero  (Leído 6829 veces)

Thieba

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 22
    • Ver Perfil
CUOO632b tutorial java desde cero
« en: 26 de Agosto 2014, 02:46 »
hola buenos dias
alguien me puede mirar porque me da error de complicion este codigo y de paso corregirme el ejercicio
muchas gracias por su atencion

Código: [Seleccionar]
public class Medico
{//declaracion de los atributos
    string nombre;
    string apellidos;
    int edad;
    boolean casado;
    string numeroDocumentoIdentidad;
    string especialidad; 
}//cierre de las declaraciones.p//constructor
 public Medico()
{//inicializacion
nombre= " ";
apellidos " ";
edad= -99;
casado = false;
numeroDocumentoIdentidad= " ";
especialidad= " ";
}//cierre del constructor
//metodo para establecer el nombre del medico
public void setNombre (string valorNombre)
{nombre=valorNombre;}//cierre del metodo

//metodo para establecer los apellidos
public void setApellidos (string valorApellidos)
{apellidos=valorApellidos;}//cierre del metodo

//metodo para establecer la edad
public void setEdad (int valorEdad)
{edad=valorEdad;}//cierre del metodo

//metodo para si el objeto medico esta casado o no
public void setCasado (boolean valorCasado)
{casado=valorCasado;}//cierre del metodo

//metodos para establecer el DNI
public void setNumeroDocumentoIdentidad (string valornumeroDocumentoIdentidad)
{numeroDocumentoIdentidad= valorNumeroDocumentoIdentidad;}//cierre del metodo

//metodo para establecer la especialidad del objeto medico
public void setEspecialidad (string valorEspecialidad)
{especialidad = valorEspecialidad;}//cierre del metodo

//metodo para obtener el nombre
public string getNombre ()
{
return nombre;
System.out.println ("El medico de nombre" + valorNombre + "no hace visita hoy");
}//cierre del metodo

//metodo para obtener los apellidos del medico
public string getApellidos ()
{
return apellidos;
System.out.println ("el medico" + valorApellidos + "ha jubilado");
}//cierre del metodo

//metodo para obtener la edad del medico
public int getEdad ()
{
return edad;
System.out.println ("los medicos de" + valorEdad + "años estan en reanimacion");
}//cierre del metodo

//metodo para obtener si el medico esta casado o no
public boolean getCasado ()
{
return casado;
System.out.println ("Los medicos solteros tienen turno de noche y los casados turno de dia");
}//cierre del metodo

//metodo para el DNI del objeto medico
public string getNumeroDocumentoIdentidad ()
{
return numeroDocumentoIdentidad;
System.out.println ("Todos los medicos son nacionales");
}//cierre del metodo

//metodo para obtener la especialidad del objeto medico
public string getEspecialidad ()
{
return especialidad
System.out.println ("El medico especializado en" + valorEspecialidad + "ahora esta en maternidad");
}//cierre del metodo
}//cierre de la clase
« Última modificación: 31 de Agosto 2014, 10:38 por Alex Rodríguez »

javi in the sky

  • Avanzado
  • ****
  • Mensajes: 393
    • Ver Perfil
Re:CUOO632b
« Respuesta #1 en: 26 de Agosto 2014, 09:39 »
Hola, el código tiene bastantes errores que tienes que corregir.


Tienes un símbolo } que te sobra después de declarar los atributos no tienes que poner ese símbolo


public class Medico
{//declaracion de los atributos
    string nombre;
    string apellidos;
    int edad;
    boolean casado;
    string numeroDocumentoIdentidad;
    string especialidad; 


ESTO BORRARLO -- > }//cierre de las declaraciones.p//constructor

Aquí te falta un =:

apellidos " ";

Aquí te falta un ;:

return especialidad

Donde escribes string nombre; tienes que poner String en mayúsculas (no sólo aquí, en todos los sitios donde escribas String)

Aquí tienes mal escrito:

public void setNumeroDocumentoIdentidad (String valornumeroDocumentoIdentidad)
{numeroDocumentoIdentidad= valorNumeroDocumentoIdentidad;}//cierre del metodo

Aquí tienes mal puesto valorNombre cuando debe ser nombre:

System.out.println ("El medico de nombre" + valorNombre + "no hace visita hoy");


Aquí tienes que corregir:

public String getApellidos ()
{
return apellidos;
System.out.println ("el medico" + valorApellidos + "ha jubilado");
}//cierre del metodo

Después de un return ya no se ejecuta nada más, por tanto si quieres que algo se ejecute tienes que ponerlo antes del return.

Además sería apellidos en lugar de valorApellidos



Parece que has escrito todo el código sin ir probando y por eso tienes tantos errores. Cuando escribas código, crea primero sólo la clase vacía y compila para ver que no tienes errores, después añade los atributos y compila para ver que no tienes errores, luego añádele el constructor y compila para ver que no tengas errores, luego añade un método y compila para ver que no tienes errores... así paso a paso conseguirás tener un código sin errores.

En vez de corregir este código creo que sería mejor que empezaras desde cero haciéndolo paso a paso y compilando en cada paso, así tú mismo serás capaz de ver dónde están los errores.

Saludos

Thieba

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 22
    • Ver Perfil
Re:CUOO632b
« Respuesta #2 en: 27 de Agosto 2014, 15:08 »
una respuesta muy pedagoga,
gracias Javi,
ahora parece que el codigo no tiene errores, se me compila y ademas creando un objeto medico se cumplen las espectativas del ejercicio.
te lo digo de corazon GRACIAS POR TU CONTRIBUCION
a continuacion adjunto el nuevo codigo y los resultados de impresion
Código: [Seleccionar]
public class Medico
{//declaracion de los atributos
    String nombre;
    String apellidos;
    int edad;
    boolean casado;
    String numeroDocumentoIdentidad;
    String especialidad; 
    //constructor
    public Medico()
    {//inicializacion
        nombre = " ";
        apellidos = " ";
        edad = -99;
        casado = false;
        numeroDocumentoIdentidad = " ";
        especialidad = " ";
    }//cierre del constructor
    //metodo para establecer el nombre del medico
    public void setNombre (String valorNombre)
    {nombre=valorNombre;}//cierre del metodo

    //metodo para establecer los apellidos
    public void setApellidos (String valorApellidos)
    {apellidos=valorApellidos;}//cierre del metodo

    //metodo para establecer la edad
    public void setEdad (int valorEdad)
    {edad=valorEdad;}//cierre del metodo

    //metodo para si el objeto medico esta casado o no
    public void setCasado (boolean valorCasado)
    {casado=valorCasado;}//cierre del metodo

    //metodos para establecer el DNI
    public void setNumeroDocumentoIdentidad (String valorNumeroDocumentoIdentidad)
    {numeroDocumentoIdentidad= valorNumeroDocumentoIdentidad;}//cierre del metodo

    //metodo para establecer la especialidad del objeto medico
    public void setEspecialidad (String valorEspecialidad)
    {especialidad = valorEspecialidad;}//cierre del metodo

    //metodo para obtener el nombre
    public String getNombre ()
    {
        System.out.println (" El medico de nombre " + nombre + " no hace visita hoy ");
        return nombre;
    }//cierre del metodo

    //metodo para obtener los apellidos del medico
    public String getApellidos ()
    {
        System.out.println (" el medico " + apellidos + " ha jubilado ");
        return apellidos;
    }//cierre del metodo

    //metodo para obtener la edad del medico
    public int getEdad ()
    {
        System.out.println (" los medicos de " + edad + " años estan en reanimacion ");
        return edad;
    }//cierre del metodo

    //metodo para obtener si el medico esta casado o no
    public boolean getCasado ()
    {
        System.out.println (" Los medicos solteros tienen turno de noche y los casados turno de dia ");
        return casado;
    }//cierre del metodo

    //metodo para el DNI del objeto medico
    public String getNumeroDocumentoIdentidad ()
    {
        System.out.println (" Todos los medicos son nacionales ");
        return numeroDocumentoIdentidad;
    }//cierre del metodo

    //metodo para obtener la especialidad del objeto medico
    public String getEspecialidad ()
    {
        System.out.println (" El medico especializado en " + especialidad + " ahora esta en maternidad ");
        return especialidad;
    }//cierre del metodo
}//cierre de la clase

El medico de nombre Andreu no hace visita hoy
 el medico Campanario Ponga ha jubilado
 los medicos de 40 años estan en reanimacion
 Los medicos solteros tienen turno de noche y los casados turno de dia
 El medico especializado en Quirofano ahora esta en maternidad
 Todos los medicos son nacionales

javi in the sky

  • Avanzado
  • ****
  • Mensajes: 393
    • Ver Perfil
Re:CUOO632b
« Respuesta #3 en: 27 de Agosto 2014, 17:20 »
Sí, ahora compila y funciona bien  ;D

Te faltaría adecuarlo a lo que pide el ejercicio. El ejercicio dice: 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: …”

¿Cuándo cambia la especialidad del médico? La especialidad cambia cada vez que se hace uso de set (método encargado de establecer o cambiar el valor de un atributo).

Por ejemplo:

Código: [Seleccionar]
    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);}//cierre del metodo

Los otros mensajes (si hace visita o no...) no los pide el ejercicio, así que sobrarían.

Saludos

Thieba

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 22
    • Ver Perfil
Re:CUOO632b
« Respuesta #4 en: 28 de Agosto 2014, 00:45 »
es verdad , no lo interpreté así .
gracias otra vez.

Thieba

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 22
    • Ver Perfil
Re:CUOO632b
« Respuesta #5 en: 28 de Agosto 2014, 01:03 »
ahora me parece que esta mejor codigo, gracias por tu disposicion. he entendido el enunciado y el como de los sintaxis del codigo como por ejemplo que "String se escribe siempre en mayuscula" y despues de return el codigo ya no ejecuta nada mas y "que hay que ir compilando pasa por pasopara poder averiguar los errores".
de verdad gracias.
a continuacion adjunto el codigo

Código: [Seleccionar]
public class Medico
{//declaracion de los atributos
    String nombre;
    String apellidos;
    int edad;
    boolean casado;
    String numeroDocumentoIdentidad;
    String especialidad; 
    //constructor
    public Medico()
    {//inicializacion
        nombre = " ";
        apellidos = " ";
        edad = -99;
        casado = false;
        numeroDocumentoIdentidad = " ";
        especialidad = " ";
    }//cierre del constructor
    //metodo para establecer el nombre del medico
    public void setNombre (String valorNombre)
    {nombre=valorNombre;}//cierre del metodo

    //metodo para establecer los apellidos
    public void setApellidos (String valorApellidos)
    {apellidos=valorApellidos;}//cierre del metodo

    //metodo para establecer la edad
    public void setEdad (int valorEdad)
    {edad=valorEdad;}//cierre del metodo

    //metodo para si el objeto medico esta casado o no
    public void setCasado (boolean valorCasado)
    {casado=valorCasado;}//cierre del metodo

    //metodos para establecer el DNI
    public void setNumeroDocumentoIdentidad (String valorNumeroDocumentoIdentidad)
    {numeroDocumentoIdentidad= valorNumeroDocumentoIdentidad;}//cierre del metodo

    //metodo para establecer la especialidad del objeto medico
    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);}//cierre del metodo

//metodo para obtener el nombre
public String getNombre ()
{return nombre;}//cierre del metodo

//metodo para obtener los apellidos del medico
public String getApellidos ()
{return apellidos;}//cierre del metodo

//metodo para obtener la edad del medico
public int getEdad ()
{return edad;}//cierre del metodo

//metodo para obtener si el medico esta casado o no
public boolean getCasado ()
{return casado;}//cierre del metodo
//metodo para el DNI del objeto medico
public String getNumeroDocumentoIdentidad ()
{return numeroDocumentoIdentidad;}//cierre del metodo
//metodo para obtener la especialidad del objeto medico
public String getEspecialidad ()
{return especialidad;}//cierre del metodo
}//cierre de la clase

javi in the sky

  • Avanzado
  • ****
  • Mensajes: 393
    • Ver Perfil
Re:CUOO632b
« Respuesta #6 en: 28 de Agosto 2014, 09:25 »
¿pero no has incluido los mensajes que pedía el ejercicio?

Thieba

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 22
    • Ver Perfil
Re:CUOO632b
« Respuesta #7 en: 28 de Agosto 2014, 19:41 »
pensaba que el ejercicio solo pedía mensaje

Código: [Seleccionar]
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);}//cierre del metodo
o que no lo he entendido bien como lo pensavba.
ahora sí que no sé que hacer..

necesito ayuda pues,
gracias Javi.

javi in the sky

  • Avanzado
  • ****
  • Mensajes: 393
    • Ver Perfil
Re:CUOO632b
« Respuesta #8 en: 28 de Agosto 2014, 20:40 »
Hola de nuevo, el ejercicio dice "En cada método, incluye una instrucción para que se muestre por consola un mensaje informando del cambio."

Por tanto tienes que incluir un mensaje en cada método set.

Puedes consultar la solución aquí: https://www.aprenderaprogramar.com/foros/index.php?topic=989

Salud

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Re:CUOO632b
« Respuesta #9 en: 29 de Agosto 2014, 08:46 »
Por favor cuando se trate de un nuevo ejercicio buscar un hilo donde se hable de dicho ejercicio, o crear un nuevo tema. Dado que la última respuesta es sobre CU00633B y aquí se hablaba de CU00632B, procedemos a cambiar el último mensaje de ubicación.

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Re:CUOO632b
« Respuesta #10 en: 29 de Agosto 2014, 08:52 »
Y también recordar que no se dupliquen mensajes en distintos hilos del foro. Gracias!

 

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