有没有办法强制java忽略Index out of bounds异常

时间:2015-02-08 03:28:34

标签: matrix indexoutofboundsexception

如果,比如说,我想迭代一个矩阵并检查我所在位置周围的内容,是否有办法检查所有这些位置,并且应该有一个或多个位置超出界限,它只是跳过那部分并继续前进?

4 个答案:

答案 0 :(得分:3)

我认为在大多数情况下它是可取的,事实上它被认为是糟糕的Java练习,但你总是可以try并且不做任何关于异常的事情。

这样做的整个问题是,你可能会发现自己陷入困境,试图确定错误的时间是多少,而事实证明这是你可以用catch

处理的事情。

答案 1 :(得分:1)

您可以使用try-catch,这将捕获异常。

try {
// Your code where the exception is thrown should be placed here
}
catch (ArrayIndexOutOfBoundsException e) {
e.printStackTrace();
}

答案 2 :(得分:1)

我通常使用if else来检查我要去的索引是否在范围内,如果不是,我跳过它。 当您尝试使用给定值迭代二维矩阵的一部分时,通常会发生这种情况。这是发生这种情况的一个好例子。

https://www.hackerrank.com/contests/university-codesprint-3/challenges/erupting-volcanoes/problem

答案 3 :(得分:0)

使矩阵的行和列更宽。这使得它有索引元素。在边缘上放置一个零值,这样它们就不会对计算产生影响。你的循环从1到n-2而不是0到n-1