我们的任务。我们必须创建一个Absolon游戏。但首先我们必须让显示板正确。我使用2D数组编程显示,11乘21。使用此代码。我得到了以下答案,它打印正确。 (IDE Neatbeans)
char [][] board = new char [11][21];
for(int column =6; column <= 14; column=column+2 ) {
int row = 0;
board[row][column] = '=';
}
for(int column =6; column <= 14; column=column+2 ) {
int row = 1;
board[row][column] = 'o';
}
for(int column =6; column <= 14; column=column+2 ) {
int row = 10;
board[row][column] = '=';
}
for(int column =6; column <= 14; column=column+2 ) {
int row = 9;
board[row][column] = 'x';
}
for(int column =5; column <= 15; column=column+2 ) {
int row = 2;
board[row][column] = 'o';
}
for(int column =5; column <= 15; column=column+2 ) {
int row = 8;
board[row][column] = 'x';
}
for(int column =5; column <= 15; column=column+2 ) {
int row = 8;
board[row][column] = 'x';
}
for(int column =8; column <= 12; column=column+2 ) {
int row = 3;
board[row][column] = 'o';
}
for(int column =8; column <= 12; column=column+2 ) {
int row = 7;
board[row][column] = 'x';
}
int j=1;
for(int column =4; column >= 0; column-- ) {
board[j][column] = '"';
j = j+1;
}
int l=1;
for(int column =16; column <= 20; column++ ) {
board[l][column] = '"';
l = l+1;
}
int m=6;
for(int column =1; column <= 4; column++ ) {
board[m][column] = '"';
m = m+1;
}
int n=6;
for(int column =19; column >= 16; column-- ) {
board[n][column] = '"';
n = n+1;
}
//Print Out Board
for(int row =0; row < board.length; row++) {
for(int column =0; column < board[row].length; column++) {
System.out.print(board[row][column] + "");
}
System.out.println();
}
}
}
这是我的示例输出的链接。 http://postimg.org/image/dx656twrf/
但是,当我去校园工作同样的问题也使用neatbeans。它给了我一个全新的输出。
=====
“OOOOO”
“OOOOOO”
“OOO”
“”
“”
“”
“XXX”
“XXXXXX”
“XXXXX”
=====
什么是错的。是IDE还是我的代码。请帮忙。
答案 0 :(得分:1)
您尚未将board
中的字符初始化为任何内容,因此它们默认为零,在各种系统上的打印方式不同。用空格初始化board
,它会起作用。
答案 1 :(得分:1)
多维char
数组的内存初始化为null
个字符,不同的系统/字体可能会以不同的方式呈现它。
Why does \0 print different output in different system in java