好吧,我需要做第一个构造函数,并且在方法中给了我一个我需要从中复制的数组。 方法是- 公共Matrix(int [] []数组)
这是我尝试过的:
public Matrix(int[][] array)
{
for(int i =0; i < array.length; i++ ) // running all over the rows
{
for ( int j=0; j < array[i].length; j++ ) // running all over the columns
{
_matrixArray[i][j]=array[i][j];
}
}
}
它说即时消息指向空值?我正在尝试避免联盟,是的,请在此问题上可能需要一些帮助:)
答案 0 :(得分:0)
您需要实例化数组,然后才能向其中添加元素。例如:
class Matrix {
private int[][] _matrixArray;
public Matrix(int[][] array)
{
this._matrixArray = new int[array.length][array[0].length];
for (int i = 0; i < array.length; i++)
{
for (int j = 0; j < array[i].length; j++)
{
this._matrixArray[i][j]=array[i][j];
}
}
}
}
答案 1 :(得分:0)
您必须先初始化matrix
。但是请注意,[][]
表示数组的数组,因此通常情况下,不同的行可能具有不同的库仑数。
public class Matrix {
private final int[][] matrix;
public Matrix(int[][] arr) {
matrix = new int[arr.length][];
for (int row = 0; row < arr.length; row++)
matrix[row] = Arrays.copyOf(arr[row], arr[row].length);
}
}