Foro de elhacker.net

Programación => Java => Mensaje iniciado por: reygecko en 29 Diciembre 2012, 23:29 pm



Título: Problema inicializando una variable
Publicado por: reygecko en 29 Diciembre 2012, 23:29 pm
Hola a todos.  :)

He definido una clase de este modo:

Código:
static class ensayo {        
        int ultimaPos[] = new int [2]; // Vector con las coordenadas (x,y) de la última posición del caballo.
        int tablero[][] = new int[Escenario.valorN][Escenario.valorN]; // Matriz con la posición del tablero.
        int numMov = 1;      // Contador con el número total de movimientos efectuados.
    }

Y luego intento inicializar sus valores dentro de main con este código:

Código:
ensayo prueba;
prueba.ultimaPos[0] = Escenario.valorX;
prueba.ultimaPos[1] = Escenario.valorY;

Debo estar haciendo algo mal porque me da el siguiente error al compilar:

Código:
Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - variable prueba might not have been initialized
at Practica.main(Practica.java:254)

Esa línea del error coincide con "prueba.ultimaPos[0] = Escenario.valorX;".  

¿Podríais ayudarme a saber qué hago mal? Gracias por anticipado.


Título: Re: Problema inicializando una variable
Publicado por: reygecko en 29 Diciembre 2012, 23:58 pm
(Actualizo con más datos, quizá sirva de ayuda)

Al intentar inicializar la variable con
Código:
ensayo prueba = null;

sigo obteniendo error en la misma línea, aunque ahora el mensaje es:
Código:
Exception in thread "main" java.lang.NullPointerException
at Practica.main(Practica.java:254)


Título: Re: Problema inicializando una variable
Publicado por: reygecko en 30 Diciembre 2012, 00:59 am
Me respondo a mí mismo (por si alguien es tan torpe como yo, que pueda encontrar la solución aquí)

El problema era que no estaba reservando espacio de memoria para la variable.  Debí haber hecho:

Código:
ensayo prueba = new ensayo();

Como veis, quizá debería haber un foro de "java nivel sub-zero" para mí.  Siento las molestias, un saludo.