Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Jesu en 09 de Enero 2017, 23:59
-
Respuesta al ejercicio CU00639B del curso fundamentos de programación orientada a objetos con Java.
public class Bombero {
private String nombre;
private String apellidos;
private int edad;
private boolean casado;
private boolean especialista;
public Bombero(String nombre, String apellidos, int edad){
this.nombre=nombre;
this.apellidos=apellidos;
this.edad=edad;
this.casado=casado;
this.especialista=especialista;
}
public String getNombre()
{
return "El bombero se llama "+nombre;
}
public String getApellidos()
{
return apellidos;
}
public int getEdad()
{
return edad;
}
public void setCasado(String casado){
if (casado.equalsIgnoreCase("Si")){
this.casado=true;
}else{
this.casado=false;
}
}
public void setEspecialista(String especialista){
if (especialista.equalsIgnoreCase("Si")){
this.especialista=true;
}else{
this.especialista=false;
}
}
public String getCasado()
{
if(casado){
return nombre+" es casado.";
}else{
return nombre+" no es casado.";
}
}
public String getEspecialista()
{
if(especialista){
return nombre+" es bombero especialista.";
}else{
return nombre+" no esbombero especialista.";
}
}
}
El método main sería:
import java.util.*;
public class EjeBombero {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner lee=new Scanner(System.in);
Bombero bombero1=new Bombero("Jesús", "Charris Villa", 23);
String respuesta;
System.out.print("¿Es casado? ");
respuesta=lee.nextLine(); bombero1.setCasado(respuesta);
System.out.print("¿Es especialista? ");
respuesta=lee.nextLine(); bombero1.setEspecialista(respuesta);
System.out.println("Nombre: "+bombero1.getNombre());
System.out.println("Apellidos: "+bombero1.getApellidos());
System.out.println("Edad: "+bombero1.getEdad());
System.out.println(bombero1.getCasado());
System.out.print(bombero1.getEspecialista());
}
}
-
Hola Jesu.
Lo primero pedirte que intentes colocar los códigos de los ejercicios que realizas en el asunto del tema que crees, para que el que quiera corregir el ejercicio sepa con facilidad cual es el enunciado de este. En este caso, si no me equivoco es el ejercicio de la entrega CU00639B.
En cuanto el ejercicio, en la clase bombero, el ejercicio pide que crees los métodos para poder establecer y obtener los valores de los atributos y los métodos que deberían devolver los valores de "especialista" y "casado" devuelven un String en vez de su valor.
A la altura de curso que estás todavía no se ha explicado el uso de "this" ni se precisa crear una clase con el "main", cuando se pide crear un objeto se refiere hacerlo "manualmente" con BlueJ.
Saludos. ;D
-
Hola Pedro. Espero que estes bien. Te pido el favor me aclares un poco el segundo párrafo de tu respuesta. Lo que sucede es que no le entiendo muy bien, gracias
-
Buenas.
Sobre los métodos para establecer y obtener los valores de los atributos, si los atributos "especialista" y "casado" son "boolean", los métodos "getter" de estos atributos deben de devolver el valor que contenga cada atributo es decir, un valor "boolean" y no un "String". Y a los métodos setter de estos atributos les pasaría lo mismo, te dejo un ejemplo:
public void setCasado(boolean valorCasado){
casado = valorCasado;
}
public boolean getCasado() {
return casado;
}
Y en cuanto a lo de crear objetos con BlueJ, en este enlace se explica como hacerlo:
https://www.aprenderaprogramar.com/foros/index.php?topic=5217.msg20762#msg20762
Saludos. ;D
-
ok entiendo. Entonces solo haré la clase. Sin embargo, pasa que yo no tengo instalado bluej. Yo manejo eclipse, por esa razon es que siempre creo los objetos con el metodo main.