Tengo este código, pero me sale NullPointerException en el método que inicializa el arreglo con 0:
/**
* This class holds the methods to initialize the arrays.
*/
import java.lang.*;
public class Arrays {
private int fil=1;
private int colum=1;
private int[][] array;
private int i,j;
//Se fija el tamaño del arreglo
public Arrays (int fila, int columna){
// Se define el tamaño de las variables que regularán el tamaño del arreglo
fil= fila;
colum=columna;
}
Método que inicializa array
public void arrayLength(){
int[][] array = new int[fil][colum];
}
Método que incializa
public void setArray (){
//Se intenta inicializar todo el arreglo con 0
for (i=0; i<fil; i++){
for (j=0; j<colum; j++) {
array[i][j]=0; //Marca ERROR aquí
}
}
}
Método que regresa el arreglo
public int[][] getArray (){
return array;
}
Main
public static void main(String[] args) throws NullPointerException{
int[][] arrayNEW;
Arrays newArg = new Arrays (8,9);
newArg.arrayLength();
newArg.setArray();//Marca ERROR aquí
arrayNEW = newArg.getArray();
// Se imprime el contenido del arreglo que debería ser 0
for (int i=0; i<arrayNEW.length; i++){
for (int j=0; j<arrayNEW[i].length ; j++) {
System.out.print(arrayNEW[i][j]);
}
}
}
//Error de consola
// Sí COMPILA, pero NO corre. Lo que me sale al correrlo es:
Exception in thread "main" java.lang.NullPointerException
//Estas dos líneas fueron marcadas con "marca ERROR aquí"
at Arrays.setArray(Arrays.java:29)
at Arrays.main(Arrays.java:43)