Autor Tema: Java ejemplo variables locales a método sobrecarga nombres. Ejercicio CU00638B  (Leído 2942 veces)

MasterOfWaves

  • Sin experiencia
  • *
  • Mensajes: 11
    • Ver Perfil
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;
        }
    }
}

DRANXZ88

  • Avanzado
  • ****
  • Mensajes: 356
    • Ver Perfil
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;

    }
« Última modificación: 15 de Junio 2016, 19:36 por DRANXZ88 »

MasterOfWaves

  • Sin experiencia
  • *
  • Mensajes: 11
    • Ver Perfil
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.

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
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

 

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