对于这个赋值,我们编写了一个不可变的类,它实现了一个矩阵接口,它有一些矩阵函数,加,减,乘…我们克隆提供的数据来创建一个新的矩阵,该矩阵是不可变的。接口中有一个getElement(int,int )方法,它返回一个整数。当所有提供的都是索引时,我不知道如何提取元素。我知道这个方法是在一个矩阵对象上调用的,所以这是我们从我需要的东西中提取的矩阵,也就是getElement方法中的关键字。
public class Practice {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
int[][] data2 = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
Practice m1 = new Practice(data2);
m1.getElement(0, 1);
}
public Practice(int[][] matrix){
cloneMatrix(matrix);
}
public static int[][] cloneMatrix(int[][] data) {
int[][] newMatrix = new int[data.length][data[0].length];
for (int i = 0; i < data.length; i++) {
System.arraycopy(data[i], 0, newMatrix[i], 0, data[i].length);
}
return newMatrix;
}
public int getElement(int y, int x) {
int !GOES HERE! [y][x];
return j;
}
}发布于 2020-05-25 04:26:53
您需要稍微修改一下代码才能使其正常工作:)
public class Practice {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
int[][] data2 = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
Practice m1 = new Practice(data2);
m1.getElement(0, 1);
}
public int[][] myMatrix; // Changed this line
public Practice(int[][] matrix) {
this.myMatrix = cloneMatrix(matrix); // Changed this line
}
public static int[][] cloneMatrix(int[][] data) {
int[][] newMatrix = new int[data.length][data[0].length];
for (int i = 0; i < data.length; i++) {
System.arraycopy(data[i], 0, newMatrix[i], 0, data[i].length);
}
return newMatrix;
}
public int getElement(int y, int x) {
return this.myMatrix[y][x]; // Changed this line
}
}https://stackoverflow.com/questions/61991959
复制相似问题