Autor Tema: Ejercicio (CU00639B) Programación Java desde cero  (Leído 11104 veces)

heseos

  • Sin experiencia
  • *
  • Mensajes: 15
    • Ver Perfil
Ejercicio (CU00639B) Programación Java desde cero
« en: 28 de Abril 2014, 05:30 »
EJERCICIO

Define una clase Bombero considerando los siguientes atributos de clase: nombre (String), apellidos (String), edad (int), casado (boolean), especialista (boolean). Define un constructor que reciba los parámetros necesarios para la inicialización y los métodos para poder establecer y obtener los valores de los atributos. Compila el código para comprobar que no presenta errores, crea un objeto y comprueba que se inicializa correctamente consultando el valor de sus atributos después de haber creado el objeto. Para comprobar si es correcta tu solución puedes consultar en los foros aprenderaprogramar.com.

Favor corregir si algo esta mal.
Código: [Seleccionar]
/*aprenderaprogramar.com
 * Heseos
 * Ejercicio (U00639B)
 */

public class Bombero {
    //Atributos de clase
    String nombre;
    String apellido;
    int edad;
    boolean casado;
    boolean especialista;
    //Constructor con parametros de inicializacsion
    public Bombero (String valorNombre, String valorApellido, int valorEdad, boolean valorCasado,boolean valorEspecialista){
        nombre = valorNombre;
        apellido = valorApellido;
        edad = valorEdad;
        casado = valorCasado;
        especialista = valorEspecialista;
    }
    //Metodos Setters para establecer
    public void setAsignarNombre (String valorNombre){nombre = valorNombre;}

    public void setAsignarApellido (String valorApellido){apellido = valorApellido;}

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

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

    public void setAsignarEspecialista (boolean valorEspecialista){especialista = valorEspecialista;}
    //Metodos Getters para obtener
    public String getNombre (){return nombre;}

    public String getApellido (){return apellido;}

    public int getEdad (){return edad;}

    public boolean getCasado (){return casado;}

    public boolean getEspecialista (){return especialista;}

}

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Re:Ejercicio (CU00639B) Programación Java desde cero
« Respuesta #1 en: 28 de Abril 2014, 09:31 »
Hola, está correcto, lo único que podrías tener en cuenta es que al igual que se utiliza para nombrar a los métodos get getEdad, lo mismo podrías hacer con los métodos set, es decir, el nombre sería setEdad en vez de setAsignarEdad. Salu2

Jorge lopez

  • Sniper
  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 248
  • @SniperOfElite
    • Ver Perfil
Re:Ejercicio (CU00639B) Programación Java desde cero
« Respuesta #2 en: 14 de Junio 2014, 18:39 »
Mi ejercicio! CU00639B

Código: [Seleccionar]
public class Bombero{
    String nombre, apellidos;
    boolean casado, especialista;
    int edad;
    public Bombero(String valorNombre, String valorApellidos, boolean valorCasado, boolean valorEspecialista, int valorEdad){
        nombre = valorNombre;
        apellidos = valorApellidos;
        casado = valorCasado;
        especialista = valorEspecialista;
        edad = valorEdad;
    }
    //setters
    public void setNombre(String valorNombre){nombre = valorNombre;}

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

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

    public void setEspecialista(boolean valorEspecialista){especialista = valorEspecialista;}

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

    //getters
    public String getNombre(){return nombre;}

    public String getApellidos(){return apellidos;}

    public boolean getCasado(){return casado;}

    public boolean getEspecialista(){return especialista;}

    public int getEdad(){return edad;}
}
while(estesVivo)
{
  aprende();
  ayuda();
  enseña();
}
if(mueres){teRecordaran();}

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2078
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Re:Ejercicio (CU00639B) Programación Java desde cero
« Respuesta #3 en: 14 de Junio 2014, 19:34 »
Está todo ok!

Responsable de departamento de producción aprenderaprogramar.com

RabihWehby

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 2
    • Ver Perfil
Re:Ejercicio (CU00639B) Programación Java desde cero
« Respuesta #4 en: 26 de Junio 2014, 10:13 »
En mi criterio hay algo que sobra en esta repuesta no se si estoy en lo correcto pero creo que no hace falta usar a los metodos Setters porque ya estamos usando un contructor con parametros y esta haciendo el trabajo de los Setters por lo tanto creo que la repuesta del ejercicio es:
Código: [Seleccionar]
public class Bombero
{
    String nombre;
    String apellidos;
    int edad;
    boolean casado;
    boolean especialista;
    public Bombero( String valorNombre, String valorApellidos, int valorEdad, boolean valorCasado, boolean valorEspecialista){
        nombre = valorNombre;
        apellidos = valorApellidos;
        edad = valorEdad;
        casado = valorCasado;
        especialista = valorEspecialista;
    }
   
    public String getNombre(){ return nombre;}
   
    public String getApellidos(){ return apellidos;}
   
    public int getEdad(){ return edad;}
   
    public boolean getCasado(){ return casado;}
   
    public boolean getEspecialista(){ return especialista;}
   
}

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2078
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Re:Ejercicio (CU00639B) Programación Java desde cero
« Respuesta #5 en: 26 de Junio 2014, 10:59 »
Hola Rabih, te indico por qué se deben incluir los métodos getters y setters:

El primer motivo: el enunciado del ejercicio no los pide.

El enunciado es:

Citar
Define una clase Bombero considerando los siguientes atributos de clase: nombre (String), apellidos (String), edad (int), casado (boolean), especialista (boolean). Define un constructor que reciba los parámetros necesarios para la inicialización y los métodos para poder establecer y obtener los valores de los atributos. Compila el código para comprobar que no presenta errores, crea un objeto y comprueba que se inicializa correctamente consultando el valor de sus atributos después de haber creado el objeto. Para comprobar si es correcta tu solución puedes consultar en los foros aprenderaprogramar.com.

El incluir los métodos getters y setters es correcto, pero no sólo porque lo pida el ejercicio, sino porque es así como se programa normalmente en java.

No es correcto decir que "ya estamos usando un contructor con parametros y esta haciendo el trabajo de los Setters".

Cada cosa tiene un fin distinto:

El constructor -- > sirve para darle unos valores iniciales a los atributos del objeto. Por ejemplo puedes crear un objeto Taxi donde el número de pasajeros inicial sea 3 establecido a través del constructor.

Los métodos setters -- > sirven para establecer un valor de atributos en cualquier momento. Imagina que del taxi se baja una persona. Entoces usaríamos el método setter para establecer que el número de pasajeros ahora es 2.

Por tanto normalmente se incluyen constructores, getters y setters, tener un constructor con parámetros no reemplaza a los getters ni a los setters. Ten en cuenta que si no tuvieras setters un objeto no podría cambiar, siempre quedaría tal y como fue creado inicialmente.

Saludos!
Responsable de departamento de producción aprenderaprogramar.com

yami_jlo

  • Sin experiencia
  • *
  • Mensajes: 7
    • Ver Perfil
Re:Ejercicio (CU00639B) Programación Java desde cero
« Respuesta #6 en: 18 de Julio 2014, 16:29 »
Hola
Aquí está mi código, pero me quedé en la parte donde solicitaban "crea un objeto y comprueba que se inicializa correctamente consultando el valor de sus atributos después de haber creado el objeto"

Código: [Seleccionar]
public class Bombero {

    String v_nombre;
    String v_apellido;
    int v_edad;
    boolean v_casado;
    boolean v_especialista;
   
    public Bombero( String vNombre, String vApellido, int vEdad, boolean vCasado, boolean vEspecialista){
    v_nombre=vNombre;
    v_apellido=vApellido;
    v_edad=vEdad;
    v_casado=vCasado;
    v_especialista=vEspecialista;
   
    }
   
    public void setNombre (String vNombre){v_nombre=vNombre;  }
    public void setApellido(String vApellido){v_apellido=vApellido; }
    public void setEdad (int vEdad){  v_edad=vEdad; }
    public void setCasado (boolean vCasado){v_casado=vCasado;}
    public void setEspecialista (boolean vEspecialista){  v_especialista=vEspecialista;}
   
       
    public String getNombre (){ return v_nombre;  }
    public String getApellido(){ return v_apellido; }
    public int getEdad (){ return v_edad; }
    public boolean getCasado (){ return v_casado;}
    public boolean getEspecialista (){ return v_especialista;}
   

    public static void main(String[] args) {

   }
   
}

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2078
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Responsable de departamento de producción aprenderaprogramar.com

yami_jlo

  • Sin experiencia
  • *
  • Mensajes: 7
    • Ver Perfil
Re:Ejercicio (CU00639B) Programación Java desde cero
« Respuesta #8 en: 18 de Julio 2014, 20:41 »
Hola, el código está correcto. Para crear objetos e invocar sus métodos tienes que hacerlo con BlueJ tal y como se indica aquí: http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=418:visualizar-clases-y-crear-objetos-java-con-bluej-invocar-metodos-diferencias-entre-clase-y-objeto-cu00620b&catid=68:curso-aprender-programacion-java-desde-cero&Itemid=188

Saludos
Hola, los ejercicios los estoy realizando desde Netbeans..  Estoy tratando de crear el objeto de esta manera
 
Código: [Seleccionar]
public class Bombero {

    String v_nombre;
    String v_apellido;
    int v_edad;
    boolean v_casado;
    boolean v_especialista;
   
    public Bombero(String vNombre, String vApellido, int vEdad, boolean vCasado, boolean vEspecialista ){
    v_nombre=vNombre;
    v_apellido=vApellido;
    v_edad=vEdad;
    v_casado=vCasado;
    v_especialista=vEspecialista;
   
    }

    public void setNombre (String vNombre){v_nombre=vNombre;  }
    public void setApellido(String vApellido){v_apellido=vApellido; }
    public void setEdad (int vEdad){v_edad=vEdad; }
    public void setCasado (boolean vCasado){v_casado=vCasado;}
    public void setEspecialista (boolean vEspecialista){  v_especialista=vEspecialista;}
   
       
    public String getNombre (){ return v_nombre;  }
    public String getApellido(){ return v_apellido; }
    public int getEdad (){ return v_edad; }
    public boolean getCasado (){ return v_casado;}
    public boolean getEspecialista (){ return v_especialista;}
   

   
    public static void main(String[] args) {
    Bombero obj = new Bombero ();
    obj.setNombre("Luis");   
    System.out.println(obj.getNombre());
   }
   
}


Pero me sale este error
Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - constructor Bombero in class bombero.Bombero cannot be applied to given types;
  required: java.lang.String,java.lang.String,int,boolean,boolean
  found: no arguments
  reason: actual and formal argument lists differ in length
   at bombero.Bombero.main(Bombero.java:43)

Incluso si le coloco los parámetros del constructor de esta manera
   Bombero obj = new Bombero (String vNombre, String vApellido, int vEdad, boolean vCasado, boolean vEspecialista )

Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - Erroneous ctor sym type: <any>

yami_jlo

  • Sin experiencia
  • *
  • Mensajes: 7
    • Ver Perfil
Re:Ejercicio (CU00639B) Programación Java desde cero
« Respuesta #9 en: 18 de Julio 2014, 22:39 »
Hola, el código está correcto. Para crear objetos e invocar sus métodos tienes que hacerlo con BlueJ tal y como se indica aquí: http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=418:visualizar-clases-y-crear-objetos-java-con-bluej-invocar-metodos-diferencias-entre-clase-y-objeto-cu00620b&catid=68:curso-aprender-programacion-java-desde-cero&Itemid=188

Saludos
Hola, los ejercicios los estoy realizando desde Netbeans..  Estoy tratando de crear el objeto de esta manera
 
Código: [Seleccionar]
public class Bombero {

    String v_nombre;
    String v_apellido;
    int v_edad;
    boolean v_casado;
    boolean v_especialista;
   
    public Bombero(String vNombre, String vApellido, int vEdad, boolean vCasado, boolean vEspecialista ){
    v_nombre=vNombre;
    v_apellido=vApellido;
    v_edad=vEdad;
    v_casado=vCasado;
    v_especialista=vEspecialista;
   
    }

    public void setNombre (String vNombre){v_nombre=vNombre;  }
    public void setApellido(String vApellido){v_apellido=vApellido; }
    public void setEdad (int vEdad){v_edad=vEdad; }
    public void setCasado (boolean vCasado){v_casado=vCasado;}
    public void setEspecialista (boolean vEspecialista){  v_especialista=vEspecialista;}
   
       
    public String getNombre (){ return v_nombre;  }
    public String getApellido(){ return v_apellido; }
    public int getEdad (){ return v_edad; }
    public boolean getCasado (){ return v_casado;}
    public boolean getEspecialista (){ return v_especialista;}
   

   
    public static void main(String[] args) {
    Bombero obj = new Bombero ();
    obj.setNombre("Luis");   
    System.out.println(obj.getNombre());
   }
   
}


Pero me sale este error
Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - constructor Bombero in class bombero.Bombero cannot be applied to given types;
  required: java.lang.String,java.lang.String,int,boolean,boolean
  found: no arguments
  reason: actual and formal argument lists differ in length
   at bombero.Bombero.main(Bombero.java:43)

Incluso si le coloco los parámetros del constructor de esta manera
   Bombero obj = new Bombero (String vNombre, String vApellido, int vEdad, boolean vCasado, boolean vEspecialista )

Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - Erroneous ctor sym type: <any>

Ya vi donde estaba el error   ???  jaja gracias de todas maneras

jga

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 31
    • Ver Perfil
Re:Ejercicio (CU00639B) Programación Java desde cero
« Respuesta #10 en: 16 de Septiembre 2014, 17:06 »
Hola a todos , incluyo mi humilde ejercicio aqui para no saturar con nuevos post , por si lo quereis corregir alguien , gracias y un abrazo.

Código: [Seleccionar]

//clase

public class Bombero
{
    private String nombre  ;
    private String apellidos;
    private int edad ;
    private boolean casado ;
    private boolean especialista ;

    // constructor

    public Bombero (String bNombre ,String bApellidos , int bEdad , boolean bCasado , boolean bEspecialista)
    {
        nombre = bNombre;
        apellidos = bApellidos;
        edad =  bEdad;
        casado = bCasado;
        especialista =  bEspecialista;

    }
    // fin de constructor

    // procedimientos
    public void setNombre (String vNombre)
    {
        nombre = vNombre;
    }

    public void setApellidos (String vApellidos)
    {
        apellidos = vApellidos;
    }

    public void setEdad(int vEdad)
    {
        edad = vEdad;
    }

    public void setCasado (boolean vCasado)
    {
        casado = vCasado;
    }

    public void setEspecialista (boolean vEspecialista)
    {
        especialista = vEspecialista;
    }
    //fin de procedimientos

    // funciones

    public String getNombre (){return nombre;}

    public String getApellidos (){return apellidos;}
   
    public int getEdad (){return edad;}
   
    public boolean getCasado () {return casado;}
   
    public boolean getEspecialista () {return especialista;}
   
}


// fin de clase

Mario R. Rancel

  • Administrador
  • Experto
  • ********
  • APR2.COM
  • Mensajes: 1978
    • Ver Perfil
Re:Ejercicio (CU00639B) Programación Java desde cero
« Respuesta #11 en: 16 de Septiembre 2014, 17:40 »
Hola, tu ejercicio está perfecto, así que ánimo y adelante con el curso. Saludos,

jga

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 31
    • Ver Perfil
Re:Ejercicio (CU00639B) Programación Java desde cero
« Respuesta #12 en: 16 de Septiembre 2014, 23:56 »
Gracias Mario , la verdad es que sin vuestro apoyo ,yo al menos no , saldría adelante así que gracias a vosotros y un fuerte abrazo.

 

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