Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: dlegolas en 22 de Octubre 2015, 16:31
-
Ejercicio Resuelto CU00637B
public class Motor {
private int tipoBomba;
private String tipoFluido,combustible;
public Motor (){
tipoBomba = 1;
tipoFluido = "Agua";
combustible = "0";
}
public void getCargaDatos (int valorBomba, String valorFluido, String valorCombustible){
tipoBomba = valorBomba;
tipoFluido = valorFluido;
combustible = valorCombustible;
}
public void getdimeTipoMotor (){
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 hormigon"); 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;
}
}
}
-
Hola dlegolas.
En primer lugar decirte que en el constructor se deben establecer los valores de los atributos como 0 (si son numéricos), "" (cadena vacía, si son cadenas de texto) o false (si son booleanos).
Normalmente se hace así para evitar que todos los objetos que se creen contengan los mismos valores, es decir, en tu caso todos los objetos que se crearan siempre tendrían como tipoBomba 1, tipoFluido "Agua", combustible "0".
El constructor debería quedar así:
public Motor (){
tipoBomba = 0;
tipoFluido = "";
combustible = "";
}
En la siguiente parte del código...
public void getCargaDatos (int valorBomba, String valorFluido, String valorCombustible){
tipoBomba = valorBomba;
tipoFluido = valorFluido;
combustible = valorCombustible;
}
en vez de llamar al método getCargaDatos le deberías llamar setDatos, porque lo que hace es establecer un valor para cada atributo.
En mi opinión personal, creo que sería mas apropiado que creases un método set para cada atributo, de esta manera cada vez que quisieras cambiar un atributo, no sería necesario tener que cambiar los demás, quedando así...
public void setTipoBomba(int valorTipoBomba){ tipoBomba = valorTipoBomba; }
public void setTipoFluido(String valorTipoFluido){ tipoFluido = valorTipoFluido; }
public void setCombustible(String valorCombustible){ combustible = valorCombustible; }
La parte del switch está bien resuelta y sólo te faltaría añadir a tu código los métodos get, que devuelvan los valores de cada uno de los atributos.
Saludos.