我正在尝试编写一个用两种交替颜色填充8x8棋盘的程序,但我正在努力创建一个方法public void fillCheckerboard(Color[][] board)
来测试它。
我正在尝试打印出一个数组,显示“x”表示黑色,“x”表示白色。
答案 0 :(得分:1)
您可以使用x和y之和的模2来获得此检查器模式。因此,一些示例代码填充二维数组以执行此操作。有任何问题请告诉我。
public class HelloWorld {
public static void main(String []args){
String[][] board = new String[8][8];
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 8; j++) {
board[i][j] = (i + j) % 2 == 0 ? "X" : "O";
}
}
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 8; j++) {
System.out.print(board[i][j]+" ");
}
System.out.println();
}
}
}
它会为您提供您最想要的输入:
X O X O X O X O
O X O X O X O X
X O X O X O X O
O X O X O X O X
X O X O X O X O
O X O X O X O X
X O X O X O X O
O X O X O X O X
答案 1 :(得分:1)
这样的事情应该有效:
private static class Color {
private final char c;
public Color(char c) {
this.c = c;
}
@Override
public String toString() {
return "" + c;
}
}
public static final Color WHITE = new Color('X');
public static final Color BLACK = new Color(' ');
public void fillCheckerboard(Color[][] board) {
Color c = BLACK;
for (int i = 0; i < board.length; i++) {
for (int j = 0; j < board[i].length; j++) {
board[i][j] = c;
c = c == BLACK ? WHITE : BLACK;
}
}
}