Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Angel_M05 en 23 de Junio 2015, 16:36

Título: Java variables locales a un método o constructor. Ejercicio CU00638B
Publicado por: Angel_M05 en 23 de Junio 2015, 16:36
Enunciado:

Citar
Considera estás desarrollando un programa Java donde necesitas trabajar con objetos de tipo Motor (que representa el motor de una bomba para mover fluidos). Define una clase Motor considerando los siguientes atributos de clase: tipoBomba (int), tipoFluido (String), combustible (String). Define un constructor asignando unos valores de defecto a los atributos y los métodos para poder establecer y obtener los valores de los atributos. Crea un método tipo función que devuelva un booleano (true o false) denominado dimeSiMotorEsParaAgua() donde se cree una variable local booleana motorEsParaAgua de forma que si el tipo de motor tiene valor 1 tomará valor true y si no lo es tomará valor false. El método debe devolver la la variable local booleana motorEsParaAgua.


Respuesta:

Código: [Seleccionar]
public class Motor
{
    // instance variables
    private int tipoBomba;
    private String tipoFluido;
    private String combustible;
    private  int motor;
    /**
     * Constructor for objects of class Motor
     */
    public Motor()
    {
        // initialise instance variables
        tipoBomba=0;
        tipoFluido="";
        combustible="";
        motor=0;
    }
    //Setters
    public void setTipoBomba(int valorTipoBomba){
        tipoBomba=valorTipoBomba;
    }

    public void setTipoFluido(String tipoFluido){
        tipoFluido=tipoFluido;
    }

    public void setCombustible(String combustible){
        combustible=combustible;
    }
    //Getters
    public int getTipoBomba(){ return tipoBomba;}

    public String getTipoFluido(){ return tipoFluido;}

    public String getCombustible(){ return combustible;}

    public boolean dimeSiMotorEsParaAgua(int motor){
        boolean motorEsParaAgua=true;

        switch (motor){

            case 1:
            motorEsParaAgua=true;
            break;

            case 2:
            motorEsParaAgua=false;
            break;
        } //Cierra Switch
        return motorEsParaAgua;
    } //Cierra Metodo

}//Cierra Clase
Título: Re:Ejercicio CU00638B Variables locales a un método o constructor en Java.
Publicado por: RaGa en 23 de Junio 2015, 22:03
Hola Angel.

Revisé tu ejercicio y lo veo bien.

Respecto al nombre de los parámetros recibidos por el método setTipoFluido y setCombustible, haría la misma observación y corrección que te hice en el ejercicio anterior.
https://www.aprenderaprogramar.com/foros/index.php?topic=2812.0

Ahora bien, respecto del método dimeSiMotorEsParaAgua():
El método no debe recibir parámetro. La decisión si el motor (sobre el que estamos llamando el método) es para agua o no es para agua, la debemos tomar en base al valor del campo de instancia tipoBomba.
Recordemos que en el ejercicio anterior si el valor que tenía el campo tipoBomba era igual a 1, entonces el motor era para agua.

Por lo tanto haciendo esta corrección, el método dimeSiMotorEsParaAgua() quedaría:

Código: [Seleccionar]
    public boolean dimeSiMotorEsParaAgua(){
        boolean motorEsParaAgua = false;

        if(tipoBomba == 1){
            motorEsParaAgua = true;
        }
       
        return motorEsParaAgua;
    }

Analízalo y cualquier duda estamos aquí para ayudarte.
Título: Re:Java variables locales a un método o constructor. Ejercicio CU00638B
Publicado por: Angel_M05 en 24 de Junio 2015, 14:57
Hola  RaGa, Muchas gracias por la observación