如何在二维字符表中找到单元格的坐标。例如,如果我的表显示如下内容:
- .....@@@@.....
- .........@@@.....
- .....@@@@.....
我想在第二行找到第二个"@",因为这会产生一个 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);
}
}
}
不确定如何找到中间的单元格,所以它用奇数个单元格制作一个正方形,对不起:(