0

Al tratar de inicializar un array bidimensional me sale el error del título: java.lang.NullPointerException. He probado con varias las soluciones a otras preguntas pero no me han funcionado. Tengo un método que inicializa la variable:

Tesela [][] teselas;

No puedo inicializarla antes porque no sé las dimensiones hasta que me las diga un fichero. De este modo obtengo nFilas y nColumnas que paso al método inicializar:

public void inicializar(int nFilas, int nColumnas){
      for(int i=0; i<nFilas; i++){
            for(int j=0; j<nColumnas; j++){
                  tesela[i][j] = new Tesela(Color.BLANCO());
            }
      }
}

Donde Tesela es una clase a la que basta con pasarle el color, de este modo crearía una matriz nFilas x nColumnas de color blanco. No empleo la variable teselas hasta después de llamar a inicializar(nFilas, nColumnas);

AnxoDoTea
  • 101
  • 8

1 Answers1

1

En Java los arreglos son objetos, por lo que almacenan realmente una referencia que apunta a los datos. Si no se han inicializado con un valor, se genera una excepción NullPointerException. Como se describe en esta pregunta

Para solucionarlo, debes inicializar el arreglo antes de usarlo.

teselas = new Tesela[nFilas][nColumnas];
JhonRM
  • 767
  • 3
  • 12