Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Bcks7 en 06 de Febrero 2016, 02:35

Título: Java error "cannot find symbol - variable ejercicio CU00637B del tutorial
Publicado por: Bcks7 en 06 de Febrero 2016, 02:35
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
Título: Re:Ayuda ejercicio CU00637B Java desde cero
Publicado por: Bcks7 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;
    }
}
}

Título: Re:Java error "cannot find symbol - variable ejercicio CU00637B del tutorial
Publicado por: Alex Rodríguez 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
Título: Re:Java error "cannot find symbol - variable ejercicio CU00637B del tutorial
Publicado por: fer_java en 04 de Mayo 2016, 12:43
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;
        }