我有一个Batlle-ship计划项目要做。我正在试图弄清楚如何打印棋盘游戏(NxN)。
我正在使用像这样嵌套的for循环:
for(int i=0; i<=10; i++){
for(int=j=0; j<=10; j++){
System.out.println("-");
}
System.out.println("A B C D E F G H I J");
}
要打印这样的内容:
A B C D E F G H I J
A - - - - - - - - - -
B - - - - - - - - - -
C - - - - - - - - - -
D - - - - - - - - - -
E - - - - - - - - - -
F - - - - - - - - - -
G - - - - - - - - - -
H - - - - - - - - - -
I - - - - - - - - - -
J - - - - - - - - - -
但有一些错误,因为它没有像那样显示董事会。如果有人能帮助确定这里发生的事情,我将不胜感激。
答案 0 :(得分:0)
这段代码适合您:
System.out.println(" A B C D E F G H I J");
for(int i=0; i<10; i++){
System.out.print((char)('A'+i)+" ");
for(int j=0; j<10; j++){
System.out.print("- ");
}
System.out.println();
}
答案 1 :(得分:0)
A)根据您的索引值测试您是在第一行还是第一列。
B)如果是,请打印字母。我建议你把它们放在一个数组中,用它们的索引来访问它们,这个索引对应于......所讨论的行/列的索引。
C)如果不是这样,请打印&#34; - &#34;
D)每次通过内循环时都不要忘记打印空格
<强> SPOILER 强>
以下是实现目标的两种方法
String[] letters = {" ", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J"};
for (int i = 0 ; i <= 10 ; i++){
for (int j = 0 ; j <= 10 ; j++){
System.out.print(i == 0 || j == 0 ? i == 0 ? letters[j] : letters[i] : "-");
System.out.print(" ");
}
System.out.println();
}
String[] letters = {" ", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J"};
for (int i = 0 ; i <= 10 ; i++){
for (int j = 0 ; j <= 10 ; j++){
if (i == 0) {
System.out.print(letters[j]);
} else if (j == 0){
System.out.print(letters[i]);
} else {
System.out.print("-");
}
System.out.print(" ");
}
System.out.println();
}
答案 2 :(得分:0)
我不确定这是否有帮助,但这是一个使用二维数组打印电路板的简单代码:
int row,col;
char[][] boardGame = new char[11][11];
for(row=0; row<boardGame.length;row++){
for(col=0; col<boardGame[row].length;col++){
if(row==0)
boardGame[row][col]=(char)('A'+col);
else if(col==0)
boardGame[row][col]=(char)('A'+row);
else boardGame[row][col]='-';
}}
for(row=0; row<boardGame.length;row++){
System.out.println();
for(col=0; col<boardGame[row].length;col++){
System.out.print(boardGame[row][col]);
}}