Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Jlinos en 11 de Junio 2018, 14:53
-
Buenas tardes. Envío el ejercicio CU00637B del tutorial pdf de programación java de aprenderaprogramar. Si pueden revisar el trabajo y me dicen si voy en el buen camino.
Muchas gracias.
public class Motor
{
//Atributos
private int tipoBomba;
private String tipoFluido;
private String combustible;
public Motor(int valorTipoBomba, String valorTipoFluido, String valorCombustible){
tipoBomba = 0;
tipoFluido = "";
combustible = "";
}
//Método dimeTipoMotor
public void dimeTipoMotor(){
switch(tipoBomba){
case 0:
System.out.println("No hay establecido un valor definido para el tipo de bomba.");
break;
case 1:
System.out.println("La bomba es una bomba de agua.");
break;
case 2:
System.out.println("La bomba es una bomba de gasolina.");
break;
case 3:
System.out.println("La bomba es una bomba de hormigón.");
break;
case 4:
System.out.println("La bomba es una bomba de pasta alimenticia.");
break;
default:System.out.println("No existe un valor válido para tipo de bomba");
break;
}
}
//Métodos setter y getter
public void setTipoBomba(int valorTipoBomba){
tipoBomba = valorTipoBomba;
}
public int getTipoBomba(){
return tipoBomba;
}
public void setTipoFluido(String valorTipoFluido){
tipoFluido = valorTipoFluido;
}
public String getTipoFluido(){
return tipoFluido;
}
public void setCombustible(String valorCombustible){
combustible = valorCombustible;
}
public String getCombustible(){
return combustible;
}
}// Cierre de la clase Motor
-
Hola, este ejercicio no está bien resuelto.
El problema está en que aquí tienes un constructor que recibe parámetros, pero sin embargo has escrito:
public Motor(int valorTipoBomba, String valorTipoFluido, String valorCombustible){
tipoBomba = 0;
tipoFluido = "";
combustible = "";
}
Los parámetros sirven para inicializar los campos de un objeto cuando se crea. Por ejemplo, voy a crear un objeto y le paso como parámetros tipo bomba 3, tipo fluido "liquido" y combustible "gasolina". Esos parámetros se usarán para inicializar el objeto. Sin embargo con tu código da igual los parámetros que le pases que el tipo bomba será cero, el tipo fluido ninguno (cadena vacía) y combustible ninguno (cadena vacía). ¿Entonces para qué sirven los parámetros? La inicialización a ceros o cadenas vacías se hace cuando no hay parámetros y por tanto no sabemos con qué valores se deben inicializar los objetos. Pero si el constructor tiene parámetros, será para utilizarlos.
Por otro lado, visto lo que ocurre cabe deducir que no has probado tu código. Es importante que cuando crees código lo pruebes. En este caso deberías haber creado un objeto en BlueJ como se explica en el curso y haberle introducido por ejemplo como tipo de bomba 3, y así comprobar que el código no funciona como debería.
Este código debería corregirse. Para ello puedes repasar tanto el curso como otros hilos del foro.
Saludos
-
Buenas tardes y gracias Alex.
No entendí el enunciado en cuanto al constructor, no tenía que pasarle parámetros.
Ahora lo he entendido y lo he corregido.También me faltó crear el objeto.
public class Motor
{
//Atributos
private int tipoBomba;
private String tipoFluido;
private String combustible;
public Motor(){
tipoBomba = 0;
tipoFluido = "";
combustible = "";
}
//Método dimeTipoMotor
public void dimeTipoMotor(){
switch(tipoBomba){
case 0:
System.out.println("No hay establecido un valor definido para el tipo de bomba.");
break;
case 1:
System.out.println("La bomba es una bomba de agua.");
break;
case 2:
System.out.println("La bomba es una bomba de gasolina.");
break;
case 3:
System.out.println("La bomba es una bomba de hormigón.");
break;
case 4:
System.out.println("La bomba es una bomba de pasta alimenticia.");
break;
default:System.out.println("No existe un valor válido para tipo de bomba");
break;
}
}
//Métodos setter y getter
public void setTipoBomba(int valorTipoBomba){
tipoBomba = valorTipoBomba;
}
public int getTipoBomba(){
return tipoBomba;
}
public void setTipoFluido(String valorTipoFluido){
tipoFluido = valorTipoFluido;
}
public String getTipoFluido(){
return tipoFluido;
}
public void setCombustible(String valorCombustible){
combustible = valorCombustible;
}
public String getCombustible(){
return combustible;
}
}// Cierre de la clase Motor
-
Ahora bien! Es importante que pruebes tu código, un buen programador nunca deja su código sin probar.
Saludos