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

时间:2016-02-09 17:47:49

标签: java arrays pattern-finding

如何在2d char表中找到单元格的坐标。例如,如果我的表格显示如下:

  1. ..... @@@@ .....
  2. ......... @@@ .....
  3. ..... ..... @@@@
  4. 我想在第二行找到第二个'@',因为这会产生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);
                        }
                    }
                }
            }
        }
    }
    

1 个答案:

答案 0 :(得分:0)

你可以先看一下阵列:

  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);
             }
        }
    }

不确定如何找到中间单元格,因此它使用奇数个单元格形成一个正方形,抱歉:(