我在做一个名为Matrix的课。它的实例变量应该是它的行数,列数和一个代表矩阵的二维诠释数组(在数学中)。它有方法getDeterminant()
它得到它的决定因素,它应该能够与另一个矩阵相乘。我应该如何在Java中初始化一个复杂的实例变量?
我的问题是,在构造函数中,我应该如何初始化它?如果它接受一个预制的二维数组,这样它的构造是这样的:
public class Matrix {
private int[][] matrix;
public Matrix(int[][] matrix) {
this.matrix = matrix;
//etc.
}
}
,或者它应该在构造函数中创建它,使它看起来像
public class Matrix {
private int[][] matrix;
public Matrix(int rows, int columns) {
Scanner in = new Scanner(System.in);
//asks the user to input a matrix
}
//methods and the such
}
编辑: 或者,我应该有一个方法初始化它像
public class Matrix {
private int[][] matrix;
public Matrix() {
//something else
}
public int[][] initializeMatrix(int rows, int columns) {
//for loop + Scanner nextInt() to ask the user to input matrix
}
//methods and the such
}
我会更喜欢* * **的**第一选择。 –
您可以根据选择创建两者。我不会把扫描仪的东西放在'int,int'构造函数中。做一个用例,然后管用户输入 – Li357
第一个选项不是很好,但肯定没问题。第二个选择是可怕的,不应该使用。 –