Autor Tema: Revision EjercicioCu00632B y algunas dudas tutorial java  (Leído 4568 veces)

Zikem10

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 26
    • Ver Perfil
Buenas Dia tengo unas dudas respecto a este Ejercicio.

1.-Quise utilizar una variable comun sumando el nombre y apellido para cuando la vayara a llamar fuera mas sencillo llamar a nombapell=nombre+apellido1+apellido2, pero al compilarlo me manda un NULL.
2.-Intente hacerla como un metodotipo procedimiento y despues como funcion para que el valor siempre lo tuviera actualizado al momento que que lo llamara en los diferentes metodos de edad,especialidad,ec.... pero tampoco.

yolo que queria hacer es tener esos tres datos nombre apellido1 y apellido dos como una sola variable para evitar llamarlas una por una, deje lo que habia hecho y me dio resultado null como //comentario para no borrarla y ver si me lo pueden revisar o si realmente ando inventando cosas que no, lo siento pero me esta llamando la atencion esto de programar y le estoy picando y moviendole al programa.
saludos y Gracias

Código: [Seleccionar]
//Programa Medico este programa nos dara los atributos de Nombre, Apellidos, edad, casado, ife, espeialidad

//Programa Hecho por Osvaldo Maciel Julio 2014


public class Medico{
   
    String nombre, apellido1, apellido2, especialidad, ife;
    String nombapell=apellido1=apellido2;
    int edad;
    boolean casado;
   
    //Definimos el constructor cuando se cree los objetos medico
   
    public Medico(){
        nombre= "Ninguno";
        apellido1= "Ninguno";
        apellido2= "Ninguno";
        edad= 0;
        casado= true;
        ife= "Ninguno";
        especialidad= "Ninguno";
       
    }// Cierre constructor
   
    // Metodo para establecer nombre
    public void setNombre(String ValorNombre){
        System.out.println("Ha cambiado el Nombre del Medico:   "+ nombre + "El nuevo Nombre del Medico es:   "+ ValorNombre);
   nombre=ValorNombre;//Maniene guardado los datos en las casillas del objeto, mientras este este abierto
    }
   
    //Metodo para establecer Apellidos
    public void setApellidos(String ValorApellido1, String ValorApellido2){
        System.out.println("Ha cambiado los Apellidos del Medico:  " +apellido1 +apellido2 +"Los nuevos apellidos son:   " +ValorApellido1+ValorApellido2);
    apellido1=ValorApellido1;
    apellido2=ValorApellido2;
    //Maniene guardado los datos en las casillas del objeto, mientras este este abierto
    }
   
    //Metodo para establecer la edad del Medico
    public void setEdad(int ValorEdad){
        System.out.println("Ha cambiado la edad del Medico:   "+ nombre +apellido1+apellido2+edad +"La Nueva edad es:   "+ValorEdad);
        edad=ValorEdad;//Maniene guardado los datos en las casillas del objeto, mientras este este abierto
    }
   
    //Metodo para establecer el estado civil del Medico
    public void setCasado(boolean ValorCasado){
        if (casado=ValorCasado)
        {
            System.out.println("El estado Civil del Medico:   "+ nombre +apellido1+apellido2+casado);//+casado +"El nuevo estado Civil es:   "+ValorCasado);
        }
        else {
        System.out.println("Ha cambiado el estado Civil del Medico:   "+ nombre +apellido1+apellido2  +"El nuevo estado Civil es:   "+ValorCasado);
    }
    casado=ValorCasado;//Maniene guardado los datos en las casillas del objeto, mientras este este abierto
    }
   
    //Metodo para establecer los datos de la credencial del IFE
    public void setIfe(String ValorIfe){
        System.out.println("Han cambiado los datod de la credencial del IFE:   "+ nombre +apellido1+apellido2+ife +"Los nuevos datos de la credencial del IFE son:   "+ ValorIfe);
    ife=ValorIfe;//Maniene guardado los datos en las casillas del objeto, mientras este este abierto
    }
   
    //Metodo para establecer la Especialidad del Medico
    public void setespecialidad(String ValorEspecialidad){
        System.out.println("Ha cambiado la Especialidad del Medico:   "+ nombre +apellido1+apellido2+especialidad +"Lanueva especialidad es:   "+ValorEspecialidad);
    especialidad=ValorEspecialidad;//Maniene guardado los datos en las casillas del objeto, mientras este este abierto
}

/*Metodo para establecer el Nombre y Apellidos
public void getsetNombApell(String ValorNombApell){
    nombapell=ValorNombApell;
}*/

 
  //Metodo para obtener los Atributos
  public String getNombre(){return nombre;}
  public String getApellido1(){return apellido1;}
  public String getApellido2(){return apellido2;}
  public int getEdad(){return edad;}
  public boolean getCasado(){return casado;}
  public String getIfe(){return ife;}
  public String getEspecialidad(){return especialidad;}
 // public String getNombApell(){return nombapell;}
     
 
 
}
     
       
       
« Última modificación: 31 de Agosto 2014, 19:00 por Alex Rodríguez »

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2078
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Re:Revision EjercicioCu00632B y algunas dudas
« Respuesta #1 en: 15 de Julio 2014, 10:02 »
Hola Osvaldo, por favor cuando pegues código usa el botón # que te aparece en el editor del foro. Pulsa # y te aparecerán las etiquetas [ code ] ... [ /code], luego pega el código entre esas dos etiquetas y pulsa previsualizar. Si ves algo que corregir, corrígelo y vuelve a pulsar previsualizar, si no pulsa publicar.

Esto es incorrecto:

String nombapell=apellido1=apellido2;

Esto no es válido en Java, no puedes poner varios iguales así seguidos.

Tampoco puedes poner esa instrucción para ligar los atributos en la declaración de atributos, piensa que en la parte inicial de la clase lo que haces es declarar los atributos.

Para establecer ese tipo de relaciones tendrías que hacerlo en el constructor, que es donde se establecen valores y relaciones entre los atributos de la clase.

Por ejemplo:

Código: [Seleccionar]
public class MedicoNuevo{
   
    String nombre, apellido1, apellido2, especialidad, ife;
    String nombreapell;
    int edad;
    boolean casado;
   
    //Definimos el constructor cuando se cree los objetos medico
   
    public MedicoNuevo(){
        nombre= "Ninguno";
        apellido1= "Ninguno";
        apellido2= "Ninguno";
        edad= 0;
        casado= true;
        ife= "Ninguno";
        especialidad= "Ninguno";
        nombreapell = nombre + apellido1 + apellido2;
    }// Cierre constructor
   
}

Sin embargo no es buena idea tener un atributo que sea la concatenación o suma de otros atributos, porque estarías repitiendo información. Para obtener esa relación entre atributos lo mejor es tener un método:

Código: [Seleccionar]
public class MedicoNuevo{
   
    String nombre, apellido1, apellido2, especialidad, ife;
    // NO PONERLO AQUÍ String nombreapell;
    int edad;
    boolean casado;
   
    //Definimos el constructor cuando se cree los objetos medico
   
    public MedicoNuevo(){
        nombre= "Ninguno";
        apellido1= "Ninguno";
        apellido2= "Ninguno";
        edad= 0;
        casado= true;
        ife= "Ninguno";
        especialidad= "Ninguno";
       
    }// Cierre constructor
   
    public String obtenerNombreYApellidos() { //LO OBTENEMOS COMO RESULTADO DE MÉTODO
        return nombre + apellido1 + apellido2;
    }
   
}
« Última modificación: 30 de Agosto 2014, 11:08 por Alex Rodríguez »
Responsable de departamento de producción aprenderaprogramar.com

Zikem10

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 26
    • Ver Perfil
Re:Revision EjercicioCu00630B y algunas dudas
« Respuesta #2 en: 16 de Julio 2014, 00:26 »
Gracias pero creo que aprete mal la tecla y no queria igualar tres cosasString nombapell=apellido1=apellido2; sino mas bien nombapell=apellido1+apellido2.

otra cosa me sugieres hacer un metodo funcion ya que obtendria toda la informacion guardada por el metodo de procedimiento verdad?, pero mi duda aqui es que si puedo utilizar la notificacion punto utilizando el metodo funcion, yo pienso queno porquese que el metodo funcion se utiliza para invocar a un atributo o a un objeto, pero si tengo esa inquietud, porque yo lo que pienso es siquiero llamar a tres atributos constantemente creo que debe de haber algo que los reuna e invocarlos de manera facil sin tener que ir llamando en este caso nombre+apellido1 +apellido2 con una instruccion larga.

Perdona si pregunto cosas muy obvias pero quiero que me quede claro

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2078
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Re:Revision EjercicioCu00630B y algunas dudas
« Respuesta #3 en: 16 de Julio 2014, 10:13 »
Sí, puedes utilizar la notación de punto para invocar el método función, esa es la forma de recuperar nombre, apellido 1 y apellido 2 todo junto. A medida que vayas haciendo ejercicios lo verás más claro. Saludos.
Responsable de departamento de producción aprenderaprogramar.com

Zikem10

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 26
    • Ver Perfil
Re:Revision EjercicioCu00630B y algunas dudas
« Respuesta #4 en: 17 de Julio 2014, 02:26 »
Muchas 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".