Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Problema con ejercicio de aprendizaje.

Hola a todos, estoy intentando aprender a programar en java y estoy siguiendo el libro "Piensa en Java" en el Capitulo 2 el ejercicio 2 dice lo siguiente:

Encontrar los fragmentos de código involucrados en UnNombreDeTipo y convertirlos en un programa que se compile y ejecute.

El fragmento de codigo es este:

febrero 9, 2012 | Registered Commentercervinomix

¡Un código invisible!
No hay duda de que el ejercicio es complicado :D

febrero 9, 2012 | Registered Commenterchoces

Hola a todos, estoy intentando aprender a programar en java y estoy siguiendo el libro "Piensa en Java" en el Capitulo 2 el ejercicio 2 dice lo siguiente:

Encontrar los fragmentos de código involucrados en UnNombreDeTipo y convertirlos en un programa que se compile y ejecute.

El fragmento de codigo es este:
class UnNombreDeTipo {/*Aqui va el cuerpo de la clase*/}
UnNombreDeTipo u = new UnNombreDeTipo

Mi resolución al problema es esta:
/*Se crea la Clase*/
public class UnNombreDeTipo {
/*creo la variable i*/
int i;
/*Se crea el objeto u*/
UnNombreDeTipo u = new UnNombreDeTipo;/* Le doy el valor 0 a la variable i del objeto u*/
i.u = (0)
/*Creo el metodo main*/
public static void main(String[] args) {
/*Le digo al metodo que imprima en la consola el valor del objeto u*/
System.out.println(u.i);
}

}

Al compilar me da el siguiente error:

Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Cannot make a static reference to the non-static field u

at UnNombreDeTipo.main(UnNombreDeTipo.java:7)

Podéis ayudarme a resolver y entender el ejercicio?
Gracias.

febrero 9, 2012 | Registered Commentercervinomix

main es un método static, por lo que todas las referencias que use internamente también deben ser static.

febrero 9, 2012 | Registered Commenterchoces

Entonces que le pongo al método main?
Le quito el static y ya esta? O defino el método de otra manera?


Ten un poco de paciencia que estoy un poco verde todavía.

febrero 10, 2012 | Unregistered Commentercervinomix

Lo que tienes que declarar como static son las referencias que se usan dentro de main, por ejemplo las variables u otros métodos que puedan declararse en la misma clase donde está main.

febrero 10, 2012 | Registered Commenterchoces

Igual te vendría bien leer con atención este tutorial:

http://docs.oracle.com/javase/tutorial/java/javaOO/classvars.html

febrero 10, 2012 | Registered Commenterchoces