Java 我的2D阵列镜像代码正确吗? public int[][]镜像(int[][]A1){ int[][]A2=新int[A1.长度][]; 对于(int i=0;i=0;j--){ A2[i][j]=A1[i][j]; } } 返回A2; }

Java 我的2D阵列镜像代码正确吗? public int[][]镜像(int[][]A1){ int[][]A2=新int[A1.长度][]; 对于(int i=0;i=0;j--){ A2[i][j]=A1[i][j]; } } 返回A2; },java,arrays,Java,Arrays,我不确定这个代码有什么问题。任何帮助都将不胜感激。谢谢。A2[i][j]=A1[i][j]将输入数组的完全相同的值分配给输出数组中的相同索引,因此输出数组将与输入数组相同 应该是 public int [][] Mirror(int [][] A1){ int [][] A2 = new int [A1.length][]; for(int i = 0; i < A1.length; i++) { for(int j = A1[i].length-1; j

我不确定这个代码有什么问题。任何帮助都将不胜感激。谢谢。

A2[i][j]=A1[i][j]
将输入数组的完全相同的值分配给输出数组中的相同索引,因此输出数组将与输入数组相同

应该是

public int [][] Mirror(int [][] A1){ 
    int [][] A2 = new int [A1.length][];
    for(int i = 0; i < A1.length; i++) {
        for(int j = A1[i].length-1; j >= 0; j--) {
            A2[i][j] = A1[i][j];
        }
    }
    return A2;
}
例如,通过这种方式,输入数组中每行的最后一列将成为输出数组中的第一列。

“我不确定这段代码有什么问题。”为什么您认为这是错误的?你有没有试过,但没有得到想要的结果?您检查了什么样的输入和输出?
A2[i][j] = A1[i][A1[i].length-1-j];