Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: ronal.d87 en 02 de Junio 2015, 07:19

Título: Java ¿Cuándo usar switch y if? Ventajas e inconvenientes de switch e if CU00638B
Publicado por: ronal.d87 en 02 de Junio 2015, 07:19
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();
    }
}

Título: Re:DESARROLLO AL EJERCICIO CU00638B
Publicado por: Dan_SB 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!
Título: Re:DESARROLLO AL EJERCICIO CU00638B
Publicado por: Alex Rodríguez 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.