Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: niurkafer en 25 de Julio 2015, 18:00

Título: illegal start of type Java error obtenido en ejercico curso CU00636B
Publicado por: niurkafer en 25 de Julio 2015, 18:00
En el ejercicio del curso java CU00636B

cuando le doy a compilar me dice : illegal start of type en el primer IF

Código: [Seleccionar]
public class Rueda {
    public String tipo;
    public double grosor;
    public double diametro;
    public String marca;

    public Rueda (){//constructor
        tipo = "liso";
        grosor = 0;
        diametro = 0;
        marca = "GOOD-YEAR";
    }// cierre del constructor

    public void tipo (String valortipo) { //comprobarDimensiones
        tipo = valortipo;
    } //Cierre del método

    public void grosor (double valorgrosor) {
        grosor = valorgrosor;
    } //Cierre del método

    public void diametro (double valordiametro) {
        diametro = valordiametro;
    }

    public void marca (String valormarca) {
        marca = valormarca;
    }

    //if con else if y cláusula final else
    if (diametro > 1.4) {System.out.println ("La rueda es par au  vehiculo Grande");}
    else if (diametro <= 1.4 && diametro > 0.8) {System.out.println ("La reuda es para un vehivulo mediano"); }
    else {System.out.println ("La reuda es para un vehiculo pequeno");}

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

   
    public String gettipo () { return tipo; } //Cierre del método

    public double getgrosor () { return grosor; } //Cierre del método

    public double getdiametro () { return diametro;}

    public String getmarca () { return marca; } //Cierre del método

}

Título: Re: Entrega nº36 del curso "Aprender programación Java desde cero".
Publicado por: RaGa en 26 de Julio 2015, 17:40
Hola niurkafer:

El error que recibes se debe a que escribiste solamente el cuerpo del método: el primer if con su else if y su else, y el segundo if. Pero ese es el cuerpo del método solamente. Olvidaste escribir la signatura del método y encerrar el cuerpo del método entre llaves.

Respecto al Constructor de la clase, los campos de instancia debería ser inicializados a valor por defecto.

Respecto de los métodos que establecen los valores de los campos de instancia, ellos deben comenzar con un prefijo 'set'. De esta manera el método que establece el valor del campo de instancia diametro debería llamarse setDiametro y no simplemente diametro.
Si bien esta omisión del prefijo 'set' no generará un error al compilarlo ya que no es un error realemente, es una convención que respetamos todos los programadores a la hora de escribir código.
En ese mismo orden también te sugeriría cambiar el nombre de los parámetros. El parámetro 'valordiametro', debería ser 'valorDiametro'.

Recuerda siempre respetar todos las convenciones a la hora de nombrar atributos, calses, y métodos.

A continuación reescribo tu ejercicio con las correcciones citadas (había también un error de signo '<' en la comprobación del diamétro).

Código: [Seleccionar]
public class Rueda {
    public String tipo;
    public double grosor;
    public double diametro;
    public String marca;

    public Rueda (){//constructor
        tipo = "";
        grosor = 0;
        diametro = 0;
        marca = "";
    }// cierre del constructor

    public void setTipo (String valorTipo) { //comprobarDimensiones
        tipo = valorTipo;
    } //Cierre del método

    public void setGrosor (double valorGrosor) {
        grosor = valorGrosor;
    } //Cierre del método

    public void setDiametro (double valorDiametro) {
        diametro = valorDiametro;
    }

    public void setMarca (String valorMarca) {
        marca = valorMarca;
    }

    public void comprobarDimensiones(){
        //if con else if y cláusula final else
        if (diametro > 1.4) {System.out.println ("La rueda es par au  vehiculo Grande");}
        else if (diametro <= 1.4 && diametro > 0.8) {System.out.println ("La reuda es para un vehivulo mediano"); }
        else {System.out.println ("La reuda es para un vehiculo pequeno");}

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

   
    public String getTipo () { return tipo; } //Cierre del método

    public double getGrosor () { return grosor; } //Cierre del método

    public double getDiametro () { return diametro;}

    public String getMarca () { return marca; } //Cierre del método

}

De todos modos, y a modo de sugerencia, te recomendaría seguir las entregas previas a esta y realizar sus ejercicios también (por si no los has realizado), ya que todos los conocimientos vienen siendo siempre acumulativos.
Título: Re: Entrega nº36 del curso "Aprender programación Java desde cero".
Publicado por: niurkafer en 26 de Julio 2015, 21:32
vale muchisimas gracias, si voy poco a poco leyendo y practicando los ejercicios ya me di cuenta de los errores y para los proximos me acostubrare a escribir set  y las mayusculas gracias  :D