我需要打印出包含字母 A 到 F 的 N × N 网格,这样相邻的两个字母就不会相同。下面的代码打印出 N x N 网格,但是我只能让左右两侧的字母不同。我找不到让上面和下面的字母也不同的方法。我需要在不使用数组的情况下解决这个问题。字母必须是随机的。
public static void main(String[] args) {
int N = StdIn.readInt();
for (int column = 0; column < N; column++) {
int x = 0;
for (int row = 0; row < N; row++) {
int c = (int) (Math.random() * 6 + 1);
while (x == c) {
c = (int) (Math.random() * 6 + 1);
}
if (c == 1) {
System.out.print("A ");
}
if (c == 2) {
System.out.print("B ");
}
if (c == 3) {
System.out.print("C ");
}
if (c == 4) {
System.out.print("D ");
}
if (c == 5) {
System.out.print("E ");
}
if (c == 6) {
System.out.print("F ");
}
x = c;
}
System.out.println();
}