为什么我的阵列在不同的计算机上打印的方式不同

时间:2013-09-14 15:00:15

标签: java

我们的任务。我们必须创建一个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还是我的代码。请帮忙。

2 个答案:

答案 0 :(得分:1)

您尚未将board中的字符初始化为任何内容,因此它们默认为零,在各种系统上的打印方式不同。用空格初始化board,它会起作用。

答案 1 :(得分:1)

多维char数组的内存初始化为null个字符,不同的系统/字体可能会以不同的方式呈现它。

Why does \0 print different output in different system in java