Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: MasterOfWaves en 15 de Junio 2016, 18:50

Título: Java ejemplo variables locales a método sobrecarga nombres. Ejercicio CU00638B
Publicado por: MasterOfWaves en 15 de Junio 2016, 18:50
Hola!!

Os dejo mi código y tengo una duda.

Cuando creamos el método dimeSiMotorEsParaAgua, lo primero que tenemos es que declarar la variable local boolean motorEsParaAgua, pero cuando nos pide que hagamos el return, ¿se puede hacer una única vez tras else y fuera de las llaves, o como yo he hecho?

Muchas gracias.

Saludos.

Código: [Seleccionar]
public class Motor {
    private int tipoBomba;
    private String tipoFluido;
    private String combustible;
   
    // Constructor
   
    public Motor () {
        tipoBomba = 0;
        tipoFluido = "";
        combustible = "";
    }
   
    // Métodos Setters
   
    public void setTipoBomba (int valorTipoBomba) {
        tipoBomba = valorTipoBomba;
    }
   
    public void setTipoFluido (String valorTipoFluido) {
        tipoFluido = valorTipoFluido;
    }
   
    public void setCombustible (String valorCombustible) {
        combustible = valorCombustible;
    }
   
    // Métodos Getters
   
    public int getTipoBomba () {
        return tipoBomba;
    }
   
    public String getTipoFluido () {
        return tipoFluido;
    }
   
    public String getCombustible () {
        return combustible;
    }
   
    // Método del ejercicio
   
    public boolean dimeSiMotorEsParaAgua () {
        boolean motorEsParaAgua = false;
        if (tipoBomba == 1) {
            motorEsParaAgua = true;
            return motorEsParaAgua;
        }
        else {
            motorEsParaAgua = false;
            return motorEsParaAgua;
        }
    }
}
Título: Re:Java ejemplo variables locales a método sobrecarga nombres. Ejercicio CU00638B
Publicado por: DRANXZ88 en 15 de Junio 2016, 19:28
El método no funciona esta mal planteado.
El return solo se pone al final después de la condición es el valor que va retornar dependiendo de la condición.
Código: [Seleccionar]
return motorEsParaAgua;El método quedaría algo así.
Código: [Seleccionar]
public boolean dimeSiMotorEsParaAgua() {
        boolean motorEsParaAgua = false;
        if (tipoBomba == 1) {
            motorEsParaAgua = true;
            System.out.println("El motor es para agua-->" + motorEsParaAgua);
        } else {
            motorEsParaAgua = false;
            System.out.println("El motor es para agua-->" + motorEsParaAgua);
        }
        return motorEsParaAgua;

    }
Título: Re:Java ejemplo variables locales a método sobrecarga nombres. Ejercicio CU00638B
Publicado por: MasterOfWaves en 15 de Junio 2016, 19:38
En realidad el método sí funciona, ya que en función del valor que le des a tipoBomba, el método te da true o false,  lo que pasa que no he añadido el System.out.println, pero porque no he visto que lo pidiera.

Respecto al return, llevas razón, puesto que marcándolo al final como indicas entiendo que ahorramos espacio.

Gracias.

Saludos.
Título: Re:Java ejemplo variables locales a método sobrecarga nombres. Ejercicio CU00638B
Publicado por: Alex Rodríguez en 23 de Junio 2016, 20:15
Hola, resulta válido poner varios return siempre que se asegure que todo posible camino o terminación de un método tipo función termina con un return. En este caso como se ha comentado, ahorramos espacio si ponemos un único return final en lugar de dos return.

Saludos