Не могу правильно инициализировать массив в классе
Только учусь, и столкнулся с проблемой пустой длины массива. Мне нужно через конструктор задать строки и столбцы матрицы. Но когда я их задаю через конструктор то массив получается пустой, как только я задам длину массива при инициализации всё работает
public class Matrix {
public int ROWS, COLUMN;
double Arr[][] = new double[ROWS][COLUMN];
Matrix(int ROWS, int COLUMN) {
this.ROWS = ROWS;
this.COLUMN = COLUMN;
}
public void printArr(double[][] Arr) {
for(int i = 0; i < Arr.length; i++) {
for (int j = 0; j < Arr[i].length; j++) {
System.out.print("Arr[" + i + "][" + j + "]=" + Arr[i][j]);
System.out.print("\t");
}
System.out.println(" ");
}
}
}
public class Main {
public static void main(String[] args) {
Matrix matrix = new Matrix(5,5);
for(int i = 0; i < matrix.Arr.length; i++) {
for(int j = 0; j < matrix.Arr[i].length; j++) {
matrix.Arr[i][j] = 2 + (int)(Math.random() * 30);
}
}
matrix.printArr(matrix.Arr);
}
}
Если я сделаю вот так, то всё работает
double Arr[][] = new double[5][5];
Ответы (1 шт):
Автор решения: Igor
→ Ссылка
public class Matrix {
public int ROWS, COLUMN;
double Arr[][];
Matrix(int ROWS, int COLUMN) {
this.ROWS = ROWS;
this.COLUMN = COLUMN;
Arr = new double[ROWS][COLUMN];
}