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