在带有“here”注释的行上,我得到一些输入数据的索引超出范围错误。它并不总是发生。甚至在程序在我的机器上运行时也不会发生这种情况。它发生在项目团队成员在他的笔记本电脑上运行项目时。
我知道有关实际索引的异常输出,但由于原因我现在没有这些信息。我很快就可以用完整的例外更新。
public int getDistance(int[] arrayA, int[] arrayB) {
int[][] array = new int[arrayA.length][arrayB.length];
for (int i = 0; i < arrayA.length; i++)
array[i][0] = i;
for (int i = 0; i < arrayB.length; i++)
array[0][i] = i; // Here
我在这里删除了方法,因为其余部分不相关。
如您所见,我从两个单维数组(arrayA和arrayB)创建一个二维数组,该数组的宽度和高度等于两个单维数组的长度。然后我将“最左边”列设置为递增数字,将“最上面”行设置为递增numnbers。
如果您需要更多代码,我可以发布。
答案 0 :(得分:0)
当数组的长度中至少有一个为0时,它会抛出ArrayIndexOutOfBoundsException
。试试例如:
int[] arrayA = new int[4];
int[] arrayB = new int[0];
getDistance(arrayA, arrayB);
答案 1 :(得分:0)
我的猜测是当其中一个列表长度为0时发生异常,即。让我们说arrayA是问题并且长度为0,然后创建数组[0] [arrayB.length]然后当你尝试调用数组[0] [i]时它无法访问元素0并抛出一个OutofBoundsException