标量乘法 - 数组索引超出界限异常

1 java exception indexoutofboundsexception

public static int[][] scalarMultiplication(int[][] A,int num) {
    int[][] arrayScalarMul = new int[A.length][A[0].length];

    for (int x=0; x < arrayScalarMul.length; x++) {
        for (int y=0; y < arrayScalarMul[x].length; y++) {
            arrayScalarMul[x][y] = A[x * num][y * num];
        }
    }
    return arrayScalarMul;
}
Run Code Online (Sandbox Code Playgroud)

由于标题说我收到了ArrayIndexOutOfBoundsException错误,我看到有些人通过将长度缩短1来修复它,我只是不明白为什么需要它?

Azo*_*ous 5

arrayScalarMul[x][y] = A[x * num][y * num]; 
Run Code Online (Sandbox Code Playgroud)

将其更改为

arrayScalarMul[x][y] = num * A[x][y]; 
Run Code Online (Sandbox Code Playgroud)

您将索引与给定标量相乘,但您应该乘以该索引上的值.