完善addMatrix Java方法

时间:2014-03-21 18:49:10

标签: java arrays indexoutofboundsexception

public static int[][] matrixAdd (int[][] matrix1, int[][] matrix2){
    int[][] sumMatrix = new int[matrix1.length][matrix1[0].length];
    for (int r = 0; r < sumMatrix.length; r++){
        for (int c = 0; c < matrix2.length+1; c++){
            sumMatrix[r][c] = matrix1[r][c] + matrix2[r][c];
        }
    }
    return sumMatrix;
}

好的我有这个代码块,代码应该将两个矩阵一起添加,它就可以了。但是当给出两个空数组时,它会给出一个越界错误。我尝试使用if-else语句尝试修复它,但我仍然遇到错误。如果有人可以提供帮助,将不胜感激。提前谢谢。

1 个答案:

答案 0 :(得分:0)

在第一行你是index1 matrix1 [0]。如果matrix1没有任何可能导致错误的数据。

在尝试访问其上的属性(或调用方法)之前,首先检查matrix1 [i]!= null。

这适用于您收到的两个矩阵。

此外,正如所提到的,+1会引导您进入另一个超出范围,因为长度已经大于数组或矩阵的最后一个索引。