Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: MauricioO en 06 de Octubre 2016, 21:55
-
Adjunto el código del ejercicio antes mencionado CU00637B del tutorial de programación Java desde cero, espero observaciones, gracias.
/**
* Ejercicio Motor (CU00637B)
* switch en Java (condicional de selección). Diagrama de flujo y ejemplo de aplicación.
*
* @author MauricioO
*/
public class Motor
{
private int tipoBomba;
private String tipoFluido;
private String combustible;
public Motor () {
tipoBomba = 0;
tipoFluido = "";
combustible = "";
}
public void settipoMotor (int valortipoMotor) {
tipoBomba = valortipoMotor;
System.out.println("El tipo de bomba es " + tipoBomba);
}
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 este tipo de bomba");
break;
}
}
}
-
Buenos días.
El ejercicio en general es correcto.
Lo único que cambiaría es el método set que pusiste por éste:
public void setTipoBomba (int valorTipoBomba) {
tipoBomba = valorTipoBomba;
}
Cuando crees un método para establecer el valor de un atributo mejor nombrarlo por el nombre de éste.Y no añadas nada más dentro de este método.Los setter son solo para dar valor a los atributos.
El ejercicio también pedía los métodos para obtener el valor de los atributos,co lo que añadiría este método:
public int getTipoBomba(){return tipoBomba;}
Un saludo
-
/**
Prueba Switch
*/
public class Motor{
//atributos//
private int tipoBomba;
private String tipoFluido;
private String combustible;
//constructor//
public Motor(){
tipoBomba = 0;
tipoFluido = "";
combustible = "";
}
//getters//
public int getTipoBomba(){return tipoBomba;}
public String getTipoFluido(){return tipoFluido;}
public String getCombustible(){return combustible;}
//setters//
public void setTipoBomba(int valorTipoBomba){
tipoBomba = valorTipoBomba;
}
public void setTipoFluido(String valorTipoFluido){
tipoFluido = valorTipoFluido;
}
public void setCombustible(String valorCombustible){
combustible = valorCombustible;
}
//metodos//
public void dimeTipoMotor(){
switch(tipoBomba){
case 0:
if (tipoBomba == 0){
System.out.println("No hay establecido un valor definido para el tipo de bomba");
}
break;
case 1:
if (tipoBomba == 1){
System.out.println("La bomba es una bomba de agua.");
}
break;
case 2:
if (tipoBomba == 2){
System.out.println("La bomba es una bomba de gasolina.");
}
break;
case 3:
if (tipoBomba == 3){
System.out.println("La bomba es una bomba de hormigón.");
}
break;
case 4:
if (tipoBomba == 4){
System.out.println("La bomba es una bomba de pasta alimenticia.");
}
break;
default: System.out.println("No existe ningun valor válido para este tipo de bomba. ");
break;
}
}
}
Creo que me pasé con los if, me da correcto pero no sabia que con los cases ya dabas valores :)
-
Buenas tardes.
Si que te sobrarían los if.
Al codificar switch(tipoBomba){
case 0:
...
es lo mismo que if (tipoBomba == 0){
por lo que al final le has pedido al programa que haga 2 veces lo mismo.
Un saludo.