Autor Tema: Java ¿Cuándo usar switch y if? Ventajas e inconvenientes de switch e if CU00638B  (Leído 5626 veces)

ronal.d87

  • Principiante
  • **
  • Mensajes: 71
    • Ver Perfil
Código: [Seleccionar]
package ejemplo;

public class Motor1 {//declaracion de variables
    int tipoBomba;
    String tipoFluido, combustible;
   
    public Motor1(){
        tipoBomba =0;
        tipoFluido = "";
        combustible = "";
    }
//metodo constructor
    //metodos tipo funcion y procedimiento
    public void setTipoBomba(int valorTipoBomba){
        tipoBomba = valorTipoBomba;
    }
   
    public void setTipoFluido(String valorTipoFluido){
        tipoFluido = valorTipoFluido;
    }
   
    public void setCombustible(String valorCombustible){
        combustible = valorCombustible;
    }   
    public int getTipoBomba(){
        return tipoBomba;
    }   
    public String getTipoFluido(){
        return tipoFluido;
    }   
    public String getCombustible(){
        return combustible;
    }       
    //metodo usado para definir si el motor puede o no usar agua
    public boolean dimeSiMotorEsParaAgua(){
        boolean motorEsParaAgua;
        motorEsParaAgua = false;
       
        switch(tipoBomba){
            case 1:
                motorEsParaAgua = true;
                System.out.println("El motor es para agua");
                break;
               
            default:
                motorEsParaAgua = false;
                System.out.println("el motor no es para agua");
                break;
        }       
        return motorEsParaAgua;
    }   
    public static void main(String [] args){
        //se crea el objeto
        Motor motor1 = new Motor();       
        motor1.dimeSiMotorEsParaAgua();
    }
}

« Última modificación: 03 de Junio 2015, 09:11 por Alex Rodríguez »
Ronald Mosquera Mancilla

Dan_SB

  • Avanzado
  • ****
  • Mensajes: 273
  • *<DanielsCK>*
    • Ver Perfil
Re:DESARROLLO AL EJERCICIO CU00638B
« Respuesta #1 en: 02 de Junio 2015, 17:17 »
Codigo correcto..! Lo hiciste con switch correctamente, bien. La unica observacion que te haria es que cuando pegues los codigos, trata de separarlo por clase y no todo junto, asi como lo tienes, me da a entender a mi que tienes todo el codigo junto en una sola clase. Me gustaria que lo acomodaras por ejemplo:

Clase Motor1:
Código: [Seleccionar]
package ejemplo;

public class Motor1 {//declaracion de variables
    int tipoBomba;
    String tipoFluido, combustible;
   
    public Motor1(){
        tipoBomba =0;
        tipoFluido = "";
        combustible = "";
    }
//metodo constructor
    //metodos tipo funcion y procedimiento
    public void setTipoBomba(int valorTipoBomba){
        tipoBomba = valorTipoBomba;
    }
   
    public void setTipoFluido(String valorTipoFluido){
        tipoFluido = valorTipoFluido;
    }
   
    public void setCombustible(String valorCombustible){
        combustible = valorCombustible;
    }   
    public int getTipoBomba(){
        return tipoBomba;
    }   
    public String getTipoFluido(){
        return tipoFluido;
    }   
    public String getCombustible(){
        return combustible;
    }       
    //metodo usado para definir si el motor puede o no usar agua
    public boolean dimeSiMotorEsParaAgua(){
        boolean motorEsParaAgua;
        motorEsParaAgua = false;
       
        switch(tipoBomba){
            case 1:
                motorEsParaAgua = true;
                System.out.println("El motor es para agua");
                break;
               
            default:
                motorEsParaAgua = false;
                System.out.println("el motor no es para agua");
                break;
        }       
        return motorEsParaAgua;
    }   

Clase Main:
Código: [Seleccionar]
public class Main {
public static void main(String [] args){
        //se crea el objeto
        Motor motor1 = new Motor();       
        motor1.dimeSiMotorEsParaAgua();
    }
}

Por lo demas esta bien!  ;)
Saludos!
"Luchar por tus sueños y cumplirlos... eso es vivir.."

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2053
    • Ver Perfil
Re:DESARROLLO AL EJERCICIO CU00638B
« Respuesta #2 en: 03 de Junio 2015, 09:10 »
Hola ronal.d87, aparte de lo comentado por Dan indicarte que el switch normalmente no se usa cuando tenemos una sola condición a evaluar. Lo más habitual y más cómodo es usar un if cuando tenemos una o dos condiciones. El switch solo se suele usar cuando hay varias condiciones lo que nos obligaría a escribir muchos if. Saludos.

 

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