在字符数组中查找单元格的坐标



如何在二维字符表中找到单元格的坐标。例如,如果我的表显示如下内容:

  1. .....@@@@.....
  2. .........@@@.....
  3. .....@@@@.....

我想在第二行找到第二个"@",因为这会产生一个 3x3 的正方形。我试图找到的正方形由奇数 3x3、5x5 组成......如果有两个相同尺寸的正方形彼此相邻,则需要将它们分开。

c[row][column]将所有值存储在一个表中,并想到使用mod 2=1来查找奇数,但我不确定如何找到坐标并确保如果有两个相邻的正方形,它不会重复。

到目前为止,我已经得到了:

for (int r = 0; r < row; r++) {
    for (int col = 0; col < column; col++) {
        if (c[r][col] != '.') {
            if (c[r][col] != '.' && c[r + 1][col] != '.' && c[r + 2][col] != '.') {
                if (c[r][col + 1] != '.' && c[r + 1][col + 1] != '.' && c[r + 2][col + 1] != '.') {
                    if (c[r][col + 2] != '.' && c[r + 1][col + 2] != '.' && c[r + 2][col + 2] != '.') {
                        System.out.println(r + " " + col);
                    }
                }
            }
        }
    }
}

好吧,您可以先查看数组:

  for (int i=0; i< row.size; i++){
      for (int j=0; j<column.size; j++){
             if (c[i][j] != '.'){
                 System.out.print (i + " " + j);
             }
        }
    }

不确定如何找到中间的单元格,所以它用奇数个单元格制作一个正方形,对不起:(

最新更新