Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: aleexx1724 en 12 de Septiembre 2014, 18:49

Título: método que usa condicional switch java (CU00637B)
Publicado por: aleexx1724 en 12 de Septiembre 2014, 18:49
saludos


Código: [Seleccionar]
public class Motor{
    private String tipoFluido;
    private String tipoCombustible;
    private int tipoBomba;

    public Motor(){
        tipoFluido="";
        tipoCombustible="Gasolina";
        tipoBomba=4;

    }

    //getters  metodos procedimiento
    public void setFluido(String valorFluido){
        tipoFluido=valorFluido;
    } 

    public void setCombustible(String valorCombustible){
        tipoCombustible=valorCombustible;
    }   

    public void  setBomba(int valorBomba){
        tipoBomba= valorBomba;

    }
    // getters  metodos funcion

    public String getFluido(){
        return tipoFluido;
    }

    public String getCombustible(){
        return tipoCombustible;
    }   

    public int getBomba(){
        return tipoBomba;
    }   

    public void dimeTipoMotor(int valorMotor){
        int a =valorMotor;
        switch(a){
            case 0:
            System.out.println("No hay establecido un valor para el tipoBomba");
            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");

            default:
            System.out.println("No existe un valor valido para tipo de bomba");
            break; // tengo entendido que la ultima sentencia de switch no es nesesario un break
            // pero por si acaso selo pongo

        }

    }   
}
Título: Re:DIAGRAMA DE FLUJO Y EJEMPLO DE APLICACIÓN. (CU00637B)
Publicado por: toni_apr en 12 de Septiembre 2014, 22:08
Hola aleexx1724

La clase en general bien.

Como has enviado dos ejercicios seguidos, no has tenido oportunidad de ver mis comentarios al ejercicio CU00636B respecto a inicializar los atributos en el contructor.

Tal como dices en tu comentario de la  última línea del switch
 
Citar
// tengo entendido que la ultima sentencia de switch no es nesesario un break
            // pero por si acaso selo pongo

Haces bien en ponerlo, no ocurre nada si no lo pones, pero queda coherente con los otros case.
Por cierto en el case 4: te has olvidado poner el break

Cuando el valor de switch sea 4 se ejecutarán las sentencias del case 4: y del default: pues no existe break que haga saltar el código

Otra cosa
Al método 'dimeTipoMotor' tu le das un parámetro, es decir, que cuando invoques este método, tienes que introducir el tipo de motor o el valor del motor.
Tu clase motor ya sabe que tipo de motor tiene, pues es uno de sus atributos, no necesitas recordárselo tu.
Además si te equivocas y le das un tipo de motor distinto del que tiene, el método te mostrará un mensaje distinto del que le corresponde a tu motor.

Si a este método le das la signatura 'public void dimeTipoMotor()' tal como se propone en el ejercicio, el método quedará perfecto.

Saludos.
Título: Re:DIAGRAMA DE FLUJO Y EJEMPLO DE APLICACIÓN. (CU00637B)
Publicado por: aleexx1724 en 12 de Septiembre 2014, 22:53
muchas gracias toni_apr
apenas vi tu comentario en el otro ejercicio
y quedo todo claro
en el case 4 fue un descuido no ponerle break;
muchas gracias por la aclaracion

saludos