我正在尝试编写一个静态方法,该方法创建并返回作为参数传递的 int 二维数组的副本。 这是我写的代码,但不确定它是否正确
public class Array {
private static int[][] arraycopy;
public Array(){
arraycopy =new int[0][0];
}
public static int makecopy(int[][]original){
for(int i=0;i<original.length;i++) {
arraycopy[i]=original[i];
for(int j=0;i<original[i].length; j++){
arraycopy[j]=original[j];
}
}
return arraycopy[i][j];
}
我的返回还给了我错误,说 i 和 j 没有声明
最佳答案
return arraycopy[i][j]
在这些 for
循环范围之外没有任何意义:i
和 j
仅在各自的循环内定义。这就是您收到错误的原因。幸运的是,您无论如何都不需要这些。
您想要将返回类型更改为int[][]
,并将返回语句更改为return arraycopy;
关于java - 编写静态方法来复制二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5811849/