gpt4 book ai didi

java - 试图弄清楚如何检查潜在的数组元素是否越界

转载 作者:行者123 更新时间:2023-12-02 03:53:04 25 4
gpt4 key购买 nike

我正在尝试查找可以放置在 NxN 2D 数组中任何位置的特定元素(数字 0)的邻居。如果 0 位于中间,这不会成为问题,但例如,如果它位于顶部/底部行,则它的上方/下方不会有值,并且与最左/最右和极端情况。应该注意的是,我只需要检查直接水平/垂直于它的值,而不是对角线的值。是否有一个特定的方法可以调用来确定特定索引是否存在?

最佳答案

您可以从数组的长度中得出该信息。

给定一个二维数组 array[m][n],您认为第一个维度表示行,第二个维度表示列:

array[0][whatever] // top row
array[m-1][whatever] // bottom row
array[whatever][0] // left-most column
array[whatever][n-1] // right-most column

应用此(为了便于阅读而格式化):

Object current = array[i][j];

Object left = j > 0 ? array[i][j-1] : null;
Object right = j < (n - 1) ? array[i][j+1] : null;
Object top = i > 0 ? array[i-1][j] : null;
Object bottom = i < (m - 1) ? array[i+1][j] : null;

无论如何:不要通过捕获ArrayIndexOutOfBoundsException来解决这个问题。捕获可以 100% 避免的运行时异常被认为是不好的形式。

关于java - 试图弄清楚如何检查潜在的数组元素是否越界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35714340/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com