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语句尝试修复它,但我仍然遇到错误。如果有人可以提供帮助,将不胜感激。提前谢谢。
答案 0 :(得分:0)
在第一行你是index1 matrix1 [0]。如果matrix1没有任何可能导致错误的数据。
在尝试访问其上的属性(或调用方法)之前,首先检查matrix1 [i]!= null。
这适用于您收到的两个矩阵。
此外,正如所提到的,+1会引导您进入另一个超出范围,因为长度已经大于数组或矩阵的最后一个索引。