【发布时间】:2011-08-29 06:40:29
【问题描述】:
我只是在编写一小段用于添加矩阵的代码。目前我写的方法是:
public static int[][] matrixAdd(int[][] A, int[][] B)
{
int[][]C = new int[A.length][A[0].length];
for(int i =0; i < A.length; i++)
{
for(int j=0; j < A[i].length;j++)
{
C[i][j] = A[i][j] + B[i][j];
}
}
return C;
}
此代码确实正确添加了矩阵,但是如果传递给此方法的矩阵为空,则会出现索引越界异常。该错误显然与'C'的大小被声明的行有关。我的逻辑有什么问题?
【问题讨论】:
-
您确定 A 和 B 的尺寸相同吗?也许你也应该验证一下。
-
这是开始学习如何使用调试器的绝佳机会。尝试在
int C[][]行设置断点,并在抛出 AIOOBE 时检查各种值。