Autor Tema: Java error "cannot find symbol - variable ejercicio CU00637B del tutorial  (Leído 4149 veces)

Bcks7

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 48
    • Ver Perfil
En la linea 31 "switch (motor){" me genera un error "cannot find symbol - variable motor"

Código: [Seleccionar]
public class Motor{//Inicio de la clase
    private int tipoBomba;
    private String tipoFluido;
    private String combustible;
   
public Motor(){//Inicio constructor
    tipoBomba=0;
    tipoFluido="";
    combustible="";
}//Cierre constructor

public void setTipoBomba(int valorTipoBomba){//Inicio establecer valores
    tipoBomba=valorTipoBomba;
}

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

public void setCombustible(String valorCombustible){
    combustible=valorCombustible;
}//Fin establecer valores

public int getTipoBomba(){return tipoBomba;}

public String getTipoFluido(){return tipoFluido;}

public String getCombustible(){return combustible;}

public void dimeTipoMotor(){
    switch (motor) {
        case 0:
        System.out.println("No hay establecido un valor definido para el tipo de bomba");
        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 gaslina");
        break;
       
        case 3:
        System.out.println("La bomba es una bomba de hormigón");
        break;
       
        case 4:
        System.out.println("La bomba es una bomba de pasta alimentaria");
        break;
       
        default: System.out.println("No existe un valor valido para tipo de bomba");break;
    }
}
}



Que estoy haciendo mal? Hice todo de acuerdo al ejemplo de switch.

Gracias de antemano
« Última modificación: 09 de Febrero 2016, 13:03 por Alex Rodríguez »

Bcks7

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 48
    • Ver Perfil
Re:Ayuda ejercicio CU00637B Java desde cero
« Respuesta #1 en: 06 de Febrero 2016, 02:42 »
A ver, esta fue la manera en que no me dio errores de sintaxis, espero este bien.

Tal vez en un inicio hice mal el poner una variable que no estaba declarada, espero puedan decirme si lo he hecho bien o debe ser de otra manera, gracias de antemano.

Código: [Seleccionar]
public class Motor{//Inicio de la clase
    private int tipoBomba;
    private String tipoFluido;
    private String combustible;
   
public Motor(){//Inicio constructor
    tipoBomba=0;
    tipoFluido="";
    combustible="";
}//Cierre constructor

public void setTipoBomba(int valorTipoBomba){//Inicio establecer valores
    tipoBomba=valorTipoBomba;
}

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

public void setCombustible(String valorCombustible){
    combustible=valorCombustible;
}//Fin establecer valores

public int getTipoBomba(){return tipoBomba;}

public String getTipoFluido(){return tipoFluido;}

public String getCombustible(){return combustible;}

public void dimeTipoMotor(){
    switch (tipoBomba) {
        case 0:
        System.out.println("No hay establecido un valor definido para el tipo de bomba");
        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 gaslina");
        break;
       
        case 3:
        System.out.println("La bomba es una bomba de hormigón");
        break;
       
        case 4:
        System.out.println("La bomba es una bomba de pasta alimentaria");
        break;
       
        default: System.out.println("No existe un valor valido para tipo de bomba");break;
    }
}
}

« Última modificación: 09 de Febrero 2016, 13:04 por Alex Rodríguez »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Re:Java error "cannot find symbol - variable ejercicio CU00637B del tutorial
« Respuesta #2 en: 09 de Febrero 2016, 13:04 »
Hola, en tu primer código donde pones switch (motor) te genera un error porque motor no es un atributo ni un parámetro, no es nada (no está declarado).

Tu segundo código está correcto. Debes comprobarlo tú mismo creando un objeto en BlueJ e invocando los métodos para comprobar que todo funciona bien.

Saludos

fer_java

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 1
    • Ver Perfil
Estás haciendo un switch al nombre de la clase (motor) y te da error porque esa no es una variable definida, debes hacerlo a tipoBomba:

public void dimeTipoMotor() {
        switch (tipoBomba) {
            case 0: System.out.println ("No hay establecido un valor definido para el tipo de bomba");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 hormigón"); break;
            case 4: System.out.println ("La bomba es una bomba de pasta alimenticia"); break;
            default: System.out.println ("No existe un valor válido para tipo de bomba"); break;
        }

 

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