Autor Tema: Manual programación orientada a objetos switch en Java, ejercicio CU00637B  (Leído 3613 veces)

MauricioO

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 7
    • Ver Perfil
Adjunto el código del ejercicio antes mencionado CU00637B del tutorial de programación Java desde cero, espero observaciones, gracias.

Código: [Seleccionar]
/**
 * 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;
        }
    }
}
« Última modificación: 15 de Octubre 2016, 13:05 por Alex Rodríguez »

ESOJ

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 143
    • Ver Perfil
Re:Java desde cero, switch en Java, ejercicio (CU00637B).
« Respuesta #1 en: 07 de Octubre 2016, 08:43 »
Buenos días.

El ejercicio en general es correcto.
Lo único que cambiaría es el método set que pusiste por éste:
Código: [Seleccionar]
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:
Código: [Seleccionar]
public int getTipoBomba(){return tipoBomba;}
Un saludo

OmarMasia

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 2
    • Ver Perfil
Re:Manual programación orientada a objetos switch en Java, ejercicio CU00637B
« Respuesta #2 en: 10 de Noviembre 2016, 17:52 »
Código: [Seleccionar]
/**
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 :)
« Última modificación: 13 de Noviembre 2016, 17:36 por Alex Rodríguez »

ESOJ

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 143
    • Ver Perfil
Re:Manual programación orientada a objetos switch en Java, ejercicio CU00637B
« Respuesta #3 en: 10 de Noviembre 2016, 18:02 »
Buenas tardes.

Si que te sobrarían los if.
Al codificar
Código: [Seleccionar]
switch(tipoBomba){           
           case 0:
...

es lo mismo que
Código: [Seleccionar]
if (tipoBomba == 0){por lo que al final le has pedido al programa que haga 2 veces lo mismo.

Un saludo.

 

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