Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: ismaellg en 12 de Mayo 2014, 23:15

Título: Problema ejercicio CU00636B illegal start of type java
Publicado por: ismaellg en 12 de Mayo 2014, 23:15
Buena tarde, no puedo compilar el código ya que me indica un error "illegal start of type" en el primer if que utilizo al parecer no me esta considerando el diámetro como variable, no se si tenga más errores pero no logro encontrar que es lo que estoy haciendo mal, agradezco su ayuda de antemano, saludos.

Código: [Seleccionar]
public class Rueda {
    String marca;
    String tipo;
    double diametro;
    double grosor;
   
    public Rueda () {
        marca = "Bridgestone";
        tipo = "Radial";
        diametro = 0.00;
        grosor = 0.00;
    }
   
    public void setDiametro (double valorDiametro){diametro = valorDiametro;}
   
    public void setGrosor (double valorGrosor) {grosor = valorGrosor;}
   
    if (diametro>1.4) {
        System.out.println ("La rueda es para vehículo grande");
        if (grosor<0.4) {
            System.out.println ("El grosor para esta rueda es inferior al recomendado");}
            else {}}
        else if (diametro<=1.4 && diametro>0.8);{
            System.out.println ("La rueda es para vehículo mediano");
            if (grosor<0.25) {
                System.out.println ("El grosor para esta rueda es inferior al recomendado");}
                else {}
            }
            else {System.out.println ("La rueda es para vehículo pequeño");
            }
       
            public String getMarca () {return marca;}
           
            public String getTipo () {return tipo;}
           
            public double getDiametro () {return diametro;}
           
            public double getGrosor () {return grosor;}
        }
Título: Re:Problema con el ejercicio CU00636B
Publicado por: javi in the sky en 13 de Mayo 2014, 14:49
Hola, el primer fallo que parece haber es que estás insertando un código que no está dentro de un método, es decir no puedes escribir un if suelto dentro de la clase, todo tiene que estar dentro de métodos.

En tu caso por ejemplo puedes poner el código dentro de un método que sea public void comprobarMedidas() { ... aquí dentro el código ... }

Todo el código tiene que estar entre los corchetes de apertura y de cierre.

Otra cosa que tienes que comprobar es que los if lleven bien los { y } y que cada else se corresponda con un solo if

Además si usas else if no puedes hacerlo poniendo un else delante. Es decir, debes escribir algo así como

if ( ... ) {  ... }
else if ( ... ) { ... }
else if ( ... ) { ... }
else { ... }

El else debe ir al final.

Otra opción es poner varios if else uno detrás de otro

if ( ... ) { ... } else { ... }
if ( ... ) { ... } else { ... }

Todo tiene que estar perfectamente balanceado porque si no te dará error.
Título: Re:Problema con el ejercicio CU00636B
Publicado por: ismaellg en 13 de Mayo 2014, 15:20
Muchas gracias por tu apoyo "javi in the sky", problemas solucionados, todo funciona correctamente, saludos!!!