Autor Tema: Java error else without if Ejercicio condicionales if else, if else if CU00636B  (Leído 11009 veces)

Edwin

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 10
    • Ver Perfil
Tengo un problema al intentar compliar el ejercicio de If else, if else if Java. Estructura o esquema de decisión condicional. (CU00636B).

Cuando intento compilar la clase me genera un error donde me dice que "else without if" y me selecciona el else con el cual termino la clausula final else, pór favor ayuda en lo relacionado a este error. De paso que me digan si el resto de código está bien

Código: [Seleccionar]
public class Rueda{

    private String tipoRueda;
    private double numGrosor;
    private double numDiametro;
    private String nomMarca;

    public Rueda(){
        tipoRueda="";
        numGrosor=0;
        numDiametro=0;
        nomMarca="";
    }

    public void tipoRueda(String valtipoRueda){
        tipoRueda=valtipoRueda;
    }

    public void numGrosor(double valnumGrosor){
        numGrosor=valnumGrosor;
    }

    public void numDiametro(double valnumDiametro){
        numDiametro=valnumDiametro;
    }

    public void nomMarca(String valnomMarca){
        nomMarca=valnomMarca;
    }

    public void comprobarDimenciones(String comprobarDimenciones){

        if (numDiametro>1.4){
            Systemp.out.println("El diametro de la llanta es para un vehiculo grande");
        }

        elseif(numDiametro>0.8 && numDiametro<=1.4 );{
            System.out.println("El diametro de la llanta es para un vehiculo mediano");
        }
       
       else
            System.out.println("La rueda es para un vehiculo pequeño.");
        }
       
       
        elseif((numDiametro>1.4 && numgrosor<0.4) || (numDiametro>0.8 && numDiametr<=1.4 &&numGrosor<0.25));{
            System.out.println("El grosor para esta rueda es inferior al recomendado");
        }
       
       
}

    public String tipoRueda(){return tipoRueda;}

    public double numGrosor(){return numGrosor;}

    public double numDiametro(){return numDiametro;}

    public String nomMarca(){return nomMarca;}

}

« Última modificación: 19 de Abril 2016, 10:42 por César Krall »

pandorum

  • Sin experiencia
  • *
  • Mensajes: 8
    • Ver Perfil
El error esta en que has puesto un if con su else y al final un elseif. Eso no es posible porque la estructura pone todos los elseif que necesites y al final el else:

Error:
Código: [Seleccionar]
...
if(ggggggg)
{
     nnnnnn
}
else
{
     mmmm
}
elseif(nnnnn)
{

}
....

Corrección:
Código: [Seleccionar]
...
if(gggggg)
{
     nnnnnn
}
elseif(ppppp) //aquí todos los elseif que desees y al final else
{
     mmmm
}
else
{
    qqqqqq
}
....

Eso sucede es así porque los elseif son para poner más condiciones y el else es donde queda la última opción a ejecutar.

Edwin

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 10
    • Ver Perfil
Primero que todo , gracias por dar respuesta a mi pregunta.
Revisando el problema veo que tienes toda la razon, lo que sucedio es que este codigo estaba modificado ; Al principio lo tenia bn, pero aun asi no me compilaba y me generaba el mismo error. Antes de hacer la pregunta primero intente solucionarlo y hay fue cuando modifique el codido. Ya deje todo en su lugar tal cual como lo habia escrito primero, nuevamente colocare el codigo para si me quieres ayudar lo compiles y veas a lo que me refiero... De ante mano gracias por tu ayuda. Edwin
Código: [Seleccionar]
public class Rueda{

    private String tipoRueda;
    private double numGrosor;
    private double numDiametro;
    private String nomMarca;

    public Rueda(){
        tipoRueda="";
        numGrosor=0;
        numDiametro=0;
        nomMarca="";
    }

    public void tipoRueda(String valtipoRueda){
        tipoRueda=valtipoRueda;
    }

    public void numGrosor(double valnumGrosor){
        numGrosor=valnumGrosor;
    }

    public void numDiametro(double valnumDiametro){
        numDiametro=valnumDiametro;
    }

    public void nomMarca(String valnomMarca){
        nomMarca=valnomMarca;
    }

    public void comprobarDimenciones(String comprobarDimenciones){

        if (numDiametro>1.4){
            Systemp.out.println("El diametro de la llanta es para un vehiculo grande");
        }

        elseif(numDiametro>0.8 && numDiametro<=1.4 );{
            System.out.println("El diametro de la llanta es para un vehiculo mediano");
        }

        elseif((numDiametro>1.4 && numgrosor<0.4) || (numDiametro>0.8 && numDiametr<=1.4 &&numGrosor<0.25));{
            System.out.println("El grosor para esta rueda es inferior al recomendado");
        }

        else{
            System.out.println("La rueda es para un vehiculo pequeño.");
        }
    }

    public String tipoRueda(){return tipoRueda;}

    public double numGrosor(){return numGrosor;}

    public double numDiametro(){return numDiametro;}

    public String nomMarca(){return nomMarca;}
}



Edwin

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 10
    • Ver Perfil
Primero que todo , gracias por dar respuesta a mi pregunta.
Antes de hacer la pregunta primero intente solucionarlo y modifique el codido. Ya deje todo en su lugar tal cual como lo habia escrito primero, nuevamente colocare el codigo para si me quieres ayudar lo compiles y veas a lo que me refiero... De ante mano gracias por tu ayuda. Edwin
Código: [Seleccionar]
public class Rueda{

    private String tipoRueda;
    private double numGrosor;
    private double numDiametro;
    private String nomMarca;

    public Rueda(){
        tipoRueda="";
        numGrosor=0;
        numDiametro=0;
        nomMarca="";
    }

    public void tipoRueda(String valtipoRueda){
        tipoRueda=valtipoRueda;
    }

    public void numGrosor(double valnumGrosor){
        numGrosor=valnumGrosor;
    }

    public void numDiametro(double valnumDiametro){
        numDiametro=valnumDiametro;
    }

    public void nomMarca(String valnomMarca){
        nomMarca=valnomMarca;
    }

    public void comprobarDimenciones(String comprobarDimenciones){

        if (numDiametro>1.4){
            Systemp.out.println("El diametro de la llanta es para un vehiculo grande");
        }

        elseif(numDiametro>0.8 && numDiametro<=1.4 );{
            System.out.println("El diametro de la llanta es para un vehiculo mediano");
        }

        elseif((numDiametro>1.4 && numgrosor<0.4) || (numDiametro>0.8 && numDiametr<=1.4 &&numGrosor<0.25));{
            System.out.println("El grosor para esta rueda es inferior al recomendado");
        }

        else{
            System.out.println("La rueda es para un vehiculo pequeño.");
        }
    }

    public String tipoRueda(){return tipoRueda;}

    public double numGrosor(){return numGrosor;}

    public double numDiametro(){return numDiametro;}

    public String nomMarca(){return nomMarca;}
}



pandorum

  • Sin experiencia
  • *
  • Mensajes: 8
    • Ver Perfil
Primero que todo , gracias por dar respuesta a mi pregunta.
Antes de hacer la pregunta primero intente solucionarlo y modifique el codido. Ya deje todo en su lugar tal cual como lo habia escrito primero, nuevamente colocare el codigo para si me quieres ayudar lo compiles y veas a lo que me refiero... De ante mano gracias por tu ayuda. Edwin
Código: [Seleccionar]
public class Rueda{

    private String tipoRueda;
    private double numGrosor;
    private double numDiametro;
    private String nomMarca;

    public Rueda(){
        tipoRueda="";
        numGrosor=0;
        numDiametro=0;
        nomMarca="";
    }

    public void tipoRueda(String valtipoRueda){
        tipoRueda=valtipoRueda;
    }

    public void numGrosor(double valnumGrosor){
        numGrosor=valnumGrosor;
    }

    public void numDiametro(double valnumDiametro){
        numDiametro=valnumDiametro;
    }

    public void nomMarca(String valnomMarca){
        nomMarca=valnomMarca;
    }

    public void comprobarDimenciones(String comprobarDimenciones){

        if (numDiametro>1.4){
            Systemp.out.println("El diametro de la llanta es para un vehiculo grande");
        }

        elseif(numDiametro>0.8 && numDiametro<=1.4 );{
            System.out.println("El diametro de la llanta es para un vehiculo mediano");
        }

        elseif((numDiametro>1.4 && numgrosor<0.4) || (numDiametro>0.8 && numDiametr<=1.4 &&numGrosor<0.25));{
            System.out.println("El grosor para esta rueda es inferior al recomendado");
        }

        else{
            System.out.println("La rueda es para un vehiculo pequeño.");
        }
    }

    public String tipoRueda(){return tipoRueda;}

    public double numGrosor(){return numGrosor;}

    public double numDiametro(){return numDiametro;}

    public String nomMarca(){return nomMarca;}
}


[/quote]

en java no debes separar el elseif... asi:
Código: [Seleccionar]
if(condicionesA)
{
...
}
else if(condicionesB) // es "else if" y no "elseif"
{
...
}
else
{
...
}

esto a groso modo... dejame y compilo y veo si hay algo más por revisar.

Addendum:
Además de lo de elseif pegado, tenias ";" demás... considera al if junto a su else if y else una sola sentencia, ademas no lleva ";" al final dicha sentencia.
Código: [Seleccionar]
public class Rueda{

    private String tipoRueda;
    private double numGrosor;
    private double numDiametro;
    private String nomMarca;

    public Rueda(){
        tipoRueda="";
        numGrosor=0;
        numDiametro=0;
        nomMarca="";
    }

    public void tipoRueda(String valtipoRueda){
        tipoRueda=valtipoRueda;
    }

    public void numGrosor(double valnumGrosor){
        numGrosor=valnumGrosor;
    }

    public void numDiametro(double valnumDiametro){
        numDiametro=valnumDiametro;
    }

    public void nomMarca(String valnomMarca){
        nomMarca=valnomMarca;
    }

    public void comprobarDimenciones(String comprobarDimenciones){

        if (numDiametro>1.4){
            System.out.println("El diametro de la llanta es para un vehiculo grande");
        }

        else if(numDiametro>0.8 && numDiametro<=1.4 ){
            System.out.println("El diametro de la llanta es para un vehiculo mediano");
        }

        else if((numDiametro>1.4 && numGrosor<0.4) || (numDiametro>0.8 && numDiametro<=1.4 &&numGrosor<0.25)){
            System.out.println("El grosor para esta rueda es inferior al recomendado");
        }

        else{
            System.out.println("La rueda es para un vehiculo pequeño.");
        }
    }

    public String tipoRueda(){return tipoRueda;}

    public double numGrosor(){return numGrosor;}

    public double numDiametro(){return numDiametro;}

    public String nomMarca(){return nomMarca;}
}
« Última modificación: 22 de Abril 2016, 22:23 por César Krall »

 

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