Autor Tema: Ejercicio CU00632B: (Imprimir por cónsola System.out.println Java)  (Leído 6448 veces)

B4rduck

  • Sin experiencia
  • *
  • Mensajes: 29
    • Ver Perfil
Hola a todos!
Quiero dejar mi solución al ejercicio del apartado correspondiente al asunto de este tema y como siempre, estoy abierto a todos tipo de sugerencias, comentarios, observaciones, etc.
Código: [Seleccionar]
public class medico {
   
    private String nombre; // Nombre del médico
    private String apellidos; // Apellidos del médico
    private int edad; // Edad del médico
    private boolean casado; // Estado civil del médico
    private String numeroID; // Número de documento de identidad del médico
    private String especialidad; // Área en la que se especializa el médico
   
    // Constructor
    public medico (){
        nombre = "Desconocido";
        apellidos = "Desconocido";
        edad = 0;
        casado = false;
        numeroID = "Desconocido";
        especialidad = "Desconocido";
    } // Cierre del constructor
   
    // Método para establecer el nombre del médico
    public void setNombre (String valorNombre) {
        nombre = valorNombre;
        System.out.println("Se ha introducido el nombre del médico... El nombre del médico es: " + nombre);
       
    } // Cierre del método
   
     // Método para establecer los apellidos del médico
    public void setApellidos (String valorApellidos) {
        apellidos = valorApellidos;
        System.out.println("Se han introducido los apellidos del médico... Los apellidos del médico son: " + apellidos);
       
    } // Cierre del médotodo
   
     // Método para establecer la edad del médico
    public void setEdad (int valorEdad) {
        edad = valorEdad;
        System.out.println("Se ha introducido la edad del médico... La edad del médico es: " + edad);
       
    } // Cierre del método
   
       // Método para establecer el estado civil del médico
    public void setCasado (boolean valorCasado) {
        casado = valorCasado;
        System.out.println("Se ha introducido el estado civil del médico... El médico está casado: " + casado);
       
    } // Cierre del método
   
       // Método para establecer el número de ID del médico
    public void setNumeroID (String valorNumeroID) {
        numeroID = valorNumeroID;
        System.out.println("Se ha introducido el número de Identificación del médico... El ID es: " + numeroID);
       
    } // Cierre del método
   
       // Método para establecer la especialidad del médico
    public void setEspecialidad (String valorEspecialidad) {
        especialidad = valorEspecialidad;
        System.out.println("Se ha introducido la especialidad del médico... La especialidad del médico es: " + especialidad);
       
    } // Cierre del método
   
    // Método para obtener el nombre del médico
    public String getNombre (){
        return nombre;
    }
   
     // Método para obtener los apellidos del médico
    public String getApellidos (){
        return apellidos;
    }
   
     // Método para obtener la edad del médico
    public int getEdad (){
        return edad;
    }
   
     // Método para obtener el estado civil del médico
    public boolean getCasado (){
        return casado;
    }
   
     // Método para obtener el número de ID del médico
    public String getNumeroID (){
        return numeroID;
    }
   
     // Método para obtener la especialidad del médico
    public String getEspecialidad (){
        return especialidad;
    }
}
   

Quedo pendiente a sus respuestas y desde ya, muchísimas gracias por su atención!
« Última modificación: 01 de Noviembre 2014, 10:19 por Alex Rodríguez »

toni_apr

  • Avanzado
  • ****
  • Mensajes: 497
  • Curiosidad, es uno de los pilares del Conocimiento
    • Ver Perfil
Re:Ejercicio CU00632B: (Imprimir por cónsola)
« Respuesta #1 en: 29 de Octubre 2014, 23:14 »
Hola Arja
Tu clase Medico cumple con el cometido de presentar mensajes cuando se cambian los atributos de la clase.

Estos mensajes en los métodos 'set' no son lo habitual. Su propósito en este ejercicio es, atestiguar que cuando se invocan estos métodos, se cambia el valor de los atributos igual que se muestra el mensaje por pantalla.

Por otra parte, cuando se inicializa un atributo, se le puede dar el valor que uno quiera. Pero cuando se pide asignar los valores por defecto como es el caso, se refiere a que los atributos de tipo String toman la cadena vacía "". Ejem.
nombre = "";
en lugar de
nombre = "Desconocido";

Saludos y adelante

B4rduck

  • Sin experiencia
  • *
  • Mensajes: 29
    • Ver Perfil
Re:Ejercicio CU00632B: (Imprimir por cónsola System.out.println Java)
« Respuesta #2 en: 01 de Noviembre 2014, 15:36 »
Toni, amigo, antes que nada quiero agradecerte tus comentarios, es muy amable de tu parte que te tomes el tiempo de revisar mi trabajo, seguro que tus sugerencias e indicaciones me servirán de mucho, como hasta ahora lo han hecho las que recibí de otros moderadores.

Ahora bien, he corregido la parte de los atributos de tipo "String" y te aseguro que, en la medida de lo posible, no volverá a suceder tal caso.

Código: [Seleccionar]
public class medico {
   
    private String nombre; // Nombre del médico
    private String apellidos; // Apellidos del médico
    private int edad; // Edad del médico
    private boolean casado; // Estado civil del médico
    private String numeroID; // Número de documento de identidad del médico
    private String especialidad; // Área en la que se especializa el médico
   
    // Constructor
    public medico (){
        nombre = "";
        apellidos = "";
        edad = 0;
        casado = false;
        numeroID = "";
        especialidad = "";
    } // Cierre del constructor
   
    // Método para establecer el nombre del médico
    public void setNombre (String valorNombre) {
        nombre = valorNombre;
        System.out.println("Se ha introducido el nombre del médico... El nombre del médico es: " + nombre);
       
    } // Cierre del método
   
     // Método para establecer los apellidos del médico
    public void setApellidos (String valorApellidos) {
        apellidos = valorApellidos;
        System.out.println("Se han introducido los apellidos del médico... Los apellidos del médico son: " + apellidos);
       
    } // Cierre del médotodo
   
     // Método para establecer la edad del médico
    public void setEdad (int valorEdad) {
        edad = valorEdad;
        System.out.println("Se ha introducido la edad del médico... La edad del médico es: " + edad);
       
    } // Cierre del método
   
       // Método para establecer el estado civil del médico
    public void setCasado (boolean valorCasado) {
        casado = valorCasado;
        System.out.println("Se ha introducido el estado civil del médico... El médico está casado: " + casado);
       
    } // Cierre del método
   
       // Método para establecer el número de ID del médico
    public void setNumeroID (String valorNumeroID) {
        numeroID = valorNumeroID;
        System.out.println("Se ha introducido el número de Identificación del médico... El ID es: " + numeroID);
       
    } // Cierre del método
   
       // Método para establecer la especialidad del médico
    public void setEspecialidad (String valorEspecialidad) {
        especialidad = valorEspecialidad;
        System.out.println("Se ha introducido la especialidad del médico... La especialidad del médico es: " + especialidad);
       
    } // Cierre del método
   
    // Método para obtener el nombre del médico
    public String getNombre (){
        return nombre;
    }
   
     // Método para obtener los apellidos del médico
    public String getApellidos (){
        return apellidos;
    }
   
     // Método para obtener la edad del médico
    public int getEdad (){
        return edad;
    }
   
     // Método para obtener el estado civil del médico
    public boolean getCasado (){
        return casado;
    }
   
     // Método para obtener el número de ID del médico
    public String getNumeroID (){
        return numeroID;
    }
   
     // Método para obtener la especialidad del médico
    public String getEspecialidad (){
        return especialidad;
    }
}
   


Gracias nuevamente y saludos cordiales!

rodrigo_avia

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 8
    • Ver Perfil
Re:Ejercicio CU00632B: (Imprimir por cónsola System.out.println Java)
« Respuesta #3 en: 27 de Noviembre 2014, 19:14 »
Hola a todos.

Estoy haciendo el curso de Java y agradezco a los autores su gran trabajo. Aquí  dejo mi ejercicio para que me digan que les parece,así sabre como voy y corregiré mis errores.

Muchas gracias de ante mano.

PD:La página esta superbien,el conocimiento nunca sobra.

Código: [Seleccionar]
public class Medico {

private String nombre;
private String apellidos;
private int edad;
private boolean casado;
private String numerodni;
private String especialidad;
//construcctor
 public Medico(){
     nombre="";
     apellidos="";
     edad=0;
     casado=false;
     numerodni="";
     especialidad="";
  }//Cierre del constructor.
 
 //metodos de procedimiento para dar atributos al médico
 public void setNombre(String valorNombre){
     nombre=valorNombre;
 System.out.println("ha cambiado el nombre del médico,el nuevo nombre es"+valorNombre);
 }
 
 public void setApellidos(String valorApellidos){
     apellidos=valorApellidos;
 System.out.println("ha cambiado los apellidos del médico"+"valorNombre"+"el nuevo apellido es"+valorApellidos);
 }
 public void setEdad(int valorEdad){
    edad=valorEdad;
    System.out.println("ha cambiado la edad del médico"+"valorNombre"+"la nueva edad es"+valorEdad);
 }
 public void setCasado(boolean valorCasado){
     casado=false;
     System.out.println("ha cambiado el estado de casado del medico"+"valorNombre"+"el nuevo estado es"+valorCasado);
 }
 public void setNumerodni(String valorNumerodni){
     numerodni="valorNumerodni";
     System.out.println("ha cambiado el número de dni del médico"+"valorNombre"+"el nuevo número es"+ valorNumerodni);
 }
 public void setEspecialidad(String valorEspecialidad){
     especialidad="valorEspecialidad";
     System.out.println("ha cambiado la especialidad del médico"+"valorNombre"+"la nueva especialidad es"+valorEspecialidad);
 }//Cierre del étodo.
 
 //Métodos para obtener los atributos del médico
 public String getNombre(){
     return nombre;}
 public String getApellidos(){
     return apellidos;}
 public int getEdad(){
     return edad;}
 public boolean getCasado(){
     return casado;}
 public String getNumerodni(){
     return numerodni;}
 public String getEspecialidad(){
     return especialidad;}
//Cierre de os métodos para consultar los atributos del médico.
}
« Última modificación: 27 de Noviembre 2014, 22:44 por Alex Rodríguez »

LPM

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 35
    • Ver Perfil
Re:Ejercicio CU00632B: (Imprimir por cónsola System.out.println Java)
« Respuesta #4 en: 27 de Noviembre 2014, 20:08 »
Código: [Seleccionar]
public void setNumerodni(String valorNumerodni){
     numerodni="valorNumerodni";
     System.out.println("ha cambiado el número de dni del médico"+"valorNombre"+"el nuevo número es"+ valorNumerodni);
 }

numerodni="valorNumerodni";

acá si compilás te va a mostrar por pantalla "el nuevo número es valorNumerodni"
osea, numerodni va a valer lo que esté escrito entre comillas

pero debe ser que te confundiste nomas al poner con comillas, porque en los anteriores métodos hiciste bien

numerodni=valorNumerodni

así debería ser


luego

Código: [Seleccionar]
public void setCasado(boolean valorCasado){
     casado=false;
     System.out.println("ha cambiado el estado de casado del medico"+"valorNombre"+"el nuevo estado es"+valorCasado);
 }

en casado=false lo estás declarando false, no le estás pasando el parámetro valorCasado
tendría que ser así

casado=valorCasado 
en que valorCasado va ser false o true

Después, en System.out.println
ponés ("algo"+variable+"algo mas"+otra variable)

Si compilás tu código el texto en pantalla va a estar todo pegado.

Por ejemplo con

Código: [Seleccionar]
System.out.println("ha cambiado el número de dni del médico"+"valorNombre"+"el nuevo número es"+ valorNumerodni);
se va a ver así:
ha cambiado el número de dni del médicoJoseelnuevo número es12356

También recién veo que valorNombre lo pusiste con comillas
con lo que en realidad te va a imprimir así:
ha cambiado el número de dni del médicovalorNombreelnuevo número es12356

sacandole las comillas a "valorNombre" se resuelve. Pero lo que quería decir era que tendrías que preparar las cadenas, los strings que pongas dentro de System.out.print()

Por ejemplo así
System.out.println("dejo un espacio al final "+algo+" y otro al principio de esta cadena.")

Igual tratá de compilar tu código y probarlo, para ver cómo resulta y cómo te imprime las cosas por pantalla

rodrigo_avia

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 8
    • Ver Perfil
Re:Ejercicio CU00632B: (Imprimir por cónsola System.out.println Java)
« Respuesta #5 en: 27 de Noviembre 2014, 20:19 »
Código: [Seleccionar]
public class Medico {

private String nombre;
private String apellidos;
private int edad;
private boolean casado;
private String numerodni;
private String especialidad;
//construcctor
 public Medico(){
     nombre="desconocido";
     apellidos="desconocido";
     edad=0;
     casado=false;
     numerodni="desconocido";
     especialidad="desconocido";
  }//Cierre del constructor.
 
 //metodos de procedimiento
 public void setNombre(String valorNombre){
     nombre=valorNombre;
 System.out.println("ha cambiado el nombre del médico,el nuevo nombre es "+valorNombre);
 }
 
 public void setApellidos(String valorApellidos){
     apellidos=valorApellidos;
 System.out.println("ha cambiado los apellidos del médico "+ nombre+" ,el nuevo apellido es "+valorApellidos);
 }
 public void setEdad(int valorEdad){
    edad=valorEdad;
    System.out.println("ha cambiado la edad del médico "+ nombre+" ,la nueva edad es "+valorEdad);
 }
 public void setCasado(boolean valorCasado){
     casado=false;
     System.out.println("ha cambiado el estado de casado del medico "+  nombre+" ,el nuevo estado es "+valorCasado);
 }
 public void setNumerodni(String valorNumerodni){
     numerodni=valorNumerodni;
     System.out.println("ha cambiado el número de dni del médico "+  nombre+" ,el nuevo número es "+ valorNumerodni);
 }
 public void setEspecialidad(String valorEspecialidad){
     especialidad=valorEspecialidad;
     System.out.println("ha cambiado la especialidad del médico "+  nombre+" ,la nueva especialidad es "+valorEspecialidad);
 }
 //Métodos para obtener los atributos del médico
 public String getNombre(){
     return nombre;
 }
 public String getApellidos(){
     return apellidos;}
 public int getEdad(){
     return edad;}
 public boolean getCasado(){
     return casado;}
 public String getNumerodni(){
     return numerodni;}
 public String getEspecialidad(){
     return especialidad;}
//Cierre de os métodos para consultar los atributos del médico.
}

Hola a todos.
Estoy haciendo el curso y agradezco a los autores su gran trabajo. Aquí  dejo mi ejercicio para que me digan que les parece,así sabre como voy y corregiré mis errores.
Muchas gracias de ante mano.
PD:La página esta superbien,el conocimiento nunca sobra.

LPM

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 35
    • Ver Perfil
Re:Ejercicio CU00632B: (Imprimir por cónsola System.out.println Java)
« Respuesta #6 en: 27 de Noviembre 2014, 20:52 »
Bien, le sacaste las comillas a las variables, y también se lee bien el texto que muestra System.out.print

Quedó lo del boolean. Por ejemplo tenés esto

Código: [Seleccionar]
public void setEdad(int valorEdad){
    edad=valorEdad;
    System.out.println("ha cambiado la edad del médico "+ nombre+" ,la nueva edad es "+valorEdad);
 }

Diría que en " " ,la nueva edad es "+valorEdad "pongas directamente edad, así

Código: [Seleccionar]
public void setEdad(int valorEdad){
    edad=valorEdad;
    System.out.println("ha cambiado la edad del médico "+ nombre+" ,la nueva edad es "+edad);
 }

Te va a mostrar el valor actual de edad, que justamente en este caso sería el mismo que ingresás

Por eso acá parece que está bien

Código: [Seleccionar]
public void setCasado(boolean valorCasado){
     casado=false;
     System.out.println("ha cambiado el estado de casado del medico "+  nombre+" ,el nuevo estado es "+valorCasado);
 }

al poner que te imprima valorCasado, te va mostrar lo qu ponés al usar el método, pero si ponés que te muestre por pantallá qué vale casado, siempre te va a mostrar false

dentro del programa BlueJ al crear un objeto de tu clase, lo vas a poder inspeccionar para que te muestre el valor de cada variable global, las que declaraste al principio.
Se hace con botón derecho sobre el objeto creado, que te aparecerá abajo a la izquierda en la ventana de BlueJ, y elegís Inspeccionar

Si usás el método setCasado y ponés true, al inspeccionar te va a seguir mostrando true

para corregir eso tenés que poner

Código: [Seleccionar]
public void setCasado(boolean valorCasado){
     casado=valorCasado;
     System.out.println("ha cambiado el estado de casado del medico "+  nombre+" ,el nuevo estado es "+casado);
 }

pasarle el parámetro que te pide el método a casado, de casado=false a casado=valorCasado tenés que cambiar


lo último, es que por convenio en los constructores las variables tipo int se inicializan en 0, los boolean en false y los String en ""

entonces en nombre="desconocido" tenés que cambiar a

nombre=""


para que quede mas claro, un ejemplo sería así

Código: [Seleccionar]
public class Ejemplo1{

   private String palabra1;
   private int numero1;
   private boolean fOv;

   public Ejemplo1(){
      palabra1="";
      numero1=0;
      fOv=false;
   }
}

rodrigo_avia

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 8
    • Ver Perfil
Re:Ejercicio CU00632B: (Imprimir por cónsola System.out.println Java)
« Respuesta #7 en: 29 de Noviembre 2014, 12:04 »
Muchas gracias.
He hecho tus consejos y los seguire.Te agradezco tu tiempo.
Seguire con el curso y mandando ejercicios.
Saludos a todos los del foro.
« Última modificación: 30 de Noviembre 2014, 20:39 por Alex Rodríguez »

 

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