Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Damian en 08 de Enero 2017, 04:33

Título: Java. Atributos (propiedades campos) constructor y métodos private int CU00623B
Publicado por: Damian en 08 de Enero 2017, 04:33
Este es el ejercicio de la clase de Conceptos de Java CU00623B del curso básico de programador. Después de tantas correcciones y de errores que salieron, logré solucionarlo, espero estar bien.

EJERCICIO

Código: [Seleccionar]
/*Ejemplo - aprenderaprogramar.com */
/*Clasificacion de personas
 */
public class Clasificacion{
    private String nombre;                //Nombre
    private String apellido;              //Apellido
    private int edad;                     //Edad
    private boolean estadoCivil;          //¿Casado/a?, Si/No
                                          //¿Soltero/a?, Si/No
                                          //¿Separado/a?, Si/No
    private String numeroIdentificacion;  //Numero de documento

    //Constructor
    public Clasificacion(){
        nombre= "";
        apellido= "";
        edad= 0;
        estadoCivil= true;
        estadoCivil= false;
        estadoCivil= true;
        numeroIdentificacion= "No establecido aun";
    } //Cierre del constructor

    //Método para establecer sus características
    //Nombre
    public void setNombre (String valorNombre){
        nombre= valorNombre;
    }
    //Apellido
    public void setApellido (String valorApellido) {
        apellido= valorApellido;
    }
    //Edad
    public void setEdad (int valorEdad) {
        edad= valorEdad;
    }
    //Estado civil
    public void setEstadoCivil (boolean valorEstadoCivil) {
        estadoCivil= valorEstadoCivil;
    }
    //Número de documento
    public void setNumeroIdentificacion (String valorNumeroIdentificacion) {
        numeroIdentificacion= valorNumeroIdentificacion;
    }//Cierre del método

    //Obtener sus características
    //Nombre
    public String getNombre () { return nombre;}
    //Apellido
    public String getApellido () {return apellido;}
    //Edad
    public int getEdad () {return edad;}
    //Estado Civil
    public boolean getEstadoCivil () {return estadoCivil;}
    //Número de identificación
    public String getNumeroIdentificacion () {return numeroIdentificacion;}

}//Cierre de la clase
Título: Re:Concepto. Atributos (propiedades o campos), constructor y métodos. (CU00623B)
Publicado por: Erik_Escriche en 08 de Enero 2017, 15:43
Hola Damian.

Me parece que solo hay una cosa que corregir. No puedes usar el mismo campo (estadoCivil) para establecer tres cosas distintas. Si quisieras saber si está casado, si está soltero y si está separado, tendrías que crear tres atributos de tipo booleano en tu código.

Por ejemplo:
Código: [Seleccionar]
private boolean casado;
private boolean soltero;
private boolean separado;

Más adelante, en el constructor, darías a los tres atributos el valor inicial false (se hace así por convenio):
Código: [Seleccionar]
casado=false;
soltero=false;
separado=false;

Para cada uno de los atributos tendrías que crear un método tipo set y un método tipo get.

No has puesto a qué entrega corresponde tu ejercicio. Me parece que es este:

Citar
EJERCICIO

Considera estás desarrollando un programa Java donde necesitas trabajar con objetos de tipo Persona. Define una clase Persona análoga a la que hemos visto para taxis, pero en este caso considerando los siguientes atributos de clase: nombre (String), apellidos (String), edad (int), casado (boolean), numeroDocumentoIdentidad (String). Define un constructor y los métodos para poder establecer y obtener los valores de los atributos. Compila el código para comprobar que no presenta errores. Para comprobar la corrección de tu solución puedes consultar en los foros aprenderaprogramar.com.

Este ejercicio te pide que utilices simplemente un atributo boolean casado, con lo que basta con escribir lo siguiente:

Código: [Seleccionar]
/*Ejemplo - aprenderaprogramar.com */
/*Clasificacion de personas
 */
public class Clasificacion{
    private String nombre;                //Nombre
    private String apellido;              //Apellido
    private int edad;                     //Edad
    private boolean casado;               //Casado true/false
    private String numeroIdentificacion;  //Numero de documento

    //Constructor
    public Clasificacion(){
        nombre= "";
        apellido= "";
        edad= 0;
        casado=false;
        numeroIdentificacion= "No establecido aun";
    } //Cierre del constructor

    //Método para establecer sus características
    //Nombre
    public void setNombre (String valorNombre){
        nombre= valorNombre;
    }
    //Apellido
    public void setApellido (String valorApellido) {
        apellido= valorApellido;
    }
    //Edad
    public void setEdad (int valorEdad) {
        edad= valorEdad;
    }
    //Estado civil
    public void setCasado (boolean valorCasado) {
        casado= valorCasado;
    }
    //Número de documento
    public void setNumeroIdentificacion (String valorNumeroIdentificacion) {
        numeroIdentificacion= valorNumeroIdentificacion;
    }//Cierre del método

    //Obtener sus características
    //Nombre
    public String getNombre () { return nombre;}
    //Apellido
    public String getApellido () {return apellido;}
    //Edad
    public int getEdad () {return edad;}
    //Estado Civil
    public boolean getCasado () {return casado;}
    //Número de identificación
    public String getNumeroIdentificacion () {return numeroIdentificacion;}

}//Cierre de la clase

Por cierto, para copiar código, busca en el menú de edición el símbolo # y pega el texto entre el [code ] y el [/code ] que te aparecerán al pulsarlo.

Espero que te sirva. ¡Un saludo!
Título: Re:Concepto. Atributos (propiedades o campos), constructor y métodos. (CU00623B)
Publicado por: Damian en 08 de Enero 2017, 19:29
Gracias Erik_Escriche por tu observación, corregiré el ejercicio y lo enviaré otra vez.
Feliz día.
Título: Re:Concepto. Atributos (propiedades o campos), constructor y métodos. (CU00623B)
Publicado por: Damian en 08 de Enero 2017, 19:49
Corrección del ejercicio

Código: [Seleccionar]
/*Ejemplo - aprenderaprogramar.com */
/*Clasificacion de personas
 */
public class Clasificacion{
    private String nombre;                //Nombre
    private String apellido;              //Apellido
    private int edad;                     //Edad
    private boolean estadoCivil;          //¿Casado/a?, Si/No
    private String numeroIdentificacion;  //Numero de documento

    //Constructor
    public Clasificacion(){
        nombre= "";
        apellido= "";
        edad= 0;
        estadoCivil= true;
        numeroIdentificacion= "No establecido aun";
    } //Cierre del constructor

    //Método para establecer sus características
    //Nombre
    public void setNombre (String valorNombre){
        nombre= valorNombre;
    }
    //Apellido
    public void setApellido (String valorApellido) {
        apellido= valorApellido;
    }
    //Edad
    public void setEdad (int valorEdad) {
        edad= valorEdad;
    }
    //Estado civil
    public void setEstadoCivil (boolean valorEstadoCivil) {
        estadoCivil= valorEstadoCivil;
    }
    //Número de documento
    public void setNumeroIdentificacion (String valorNumeroIdentificacion) {
        numeroIdentificacion= valorNumeroIdentificacion;
    }//Cierre del método

    //Obtener sus características
    //Nombre
    public String getNombre () { return nombre;}
    //Apellido
    public String getApellido () {return apellido;}
    //Edad
    public int getEdad () {return edad;}
    //Estado Civil
    public boolean getEstadoCivil () {return estadoCivil;}
    //Número de identificación
    public String getNumeroIdentificacion () {return numeroIdentificacion;}

}//Cierre de la clase

Citar

EJERCICIO

"Considera estás desarrollando un programa Java donde necesitas trabajar con objetos de tipo Persona. Define una clase Persona análoga a la que hemos visto para taxis, pero en este caso considerando los siguientes atributos de clase: nombre (String), apellidos (String), edad (int), casado (boolean), numeroDocumentoIdentidad (String). Define un constructor y los métodos para poder establecer y obtener los valores de los atributos."
Título: Re:Concepto. Atributos (propiedades o campos), constructor y métodos. (CU00623B)
Publicado por: Erik_Escriche en 08 de Enero 2017, 19:58
Así está ya todo bien : )

Para seguir el convenio de programación Java, es recomendable que en el constructor inicialices estadoCivil a false en vez de a true.