有没有办法强制 java 忽略索引越界异常

Is there a way to force java to ignore an Index out of bounds exception

如果,比方说,我想遍历一个矩阵并检查我所在的矩阵周围位置的内容,有没有办法检查所有这些位置,以及其中一个或多个应该不在的界限,它只是跳过那部分并继续前进?

我认为在大多数情况下不建议这样做,事实上众所周知 Java 做法不好,但您可以使用 try 并且对异常不做任何处理。

不过,这样做的全部问题是,您会发现自己在千百年来一直试图确定错误是什么,结果证明您可以使用 catch

来处理这些问题

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

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

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

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

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