在多维数组中搜索多个位置

时间:2016-01-31 23:24:01

标签: java arrays multidimensional-array

我想知道如何在多维数组(2D)中将搜索范围扩大到一次只能超过一个位置。具体来说,我试图查看坐标(X,Y)以及上方,下方和原始位置的两侧。

ex)我正在寻找一个整数值“0”。如果我在2D数组的任何给定行或列中搜索,我还需要在周围位置搜索。

1 个答案:

答案 0 :(得分:0)

使用for循环搜索2D数组中的周围环境:

for(int x=(x1-1); x<=(x1+1); x++) //Check on all 8 directions
    for(int y=(y1-1); y<=(y1+1); y++)
        if(x!=-1 && y!=-1 && x!=height && y!=width) //Check to ensure you are within bounds
            //do whatever..
            //e.g: if(array[x][y] == 0); count++; 

x1y1是您周围中心的坐标。

在if语句中,您可以添加更多检查,例如检查坐标x!=x1 && y!= y1

您可能想要使用一长串8个if-else语句来检查所有方向,但这不是必要的(并且容易出错)。