在java中使用system.out.println()创建一个国际象棋棋盘

时间:2015-03-30 14:12:35

标签: java arrays

我正在尝试创建一个看起来像这样的棋盘:

---------------------------------
|   |   |   |   |   |   |   |   |
---------------------------------
|   |   |   |   |   |   |   |   |
---------------------------------
|   |   |   |   |   |   |   |   |
---------------------------------
|   |   |   |   |   |   |   |   |
---------------------------------
|   |   |   |   |   |   |   |   |
---------------------------------
|   |   |   |   |   |   |   |   |
---------------------------------
|   |   |   |   |   |   |   |   |
---------------------------------
|   |   |   |   |   |   |   |   |
---------------------------------

出于某种原因,我不能让每一行的最后一行出现在它想象的地方。

这是我的代码

   public static final int BOARD_SIZE = 8;

   public void displayChessBoard(){
      for (int row = 0; row < BOARD_SIZE; row++)
      {
          System.out.println("");
          System.out.println("---------------------------------");

          for (int column = 0; column < BOARD_SIZE; column++)
          {
              System.out.print("| " + " " + " ");
          }           
    }
    System.out.println("");
    System.out.println("---------------------------------");
  }

main只需调用方法displayChessBoard()

这是我的输出

---------------------------------
|   |   |   |   |   |   |   |   
---------------------------------
|   |   |   |   |   |   |   |   
---------------------------------
|   |   |   |   |   |   |   |   
---------------------------------
|   |   |   |   |   |   |   |   
---------------------------------
|   |   |   |   |   |   |   |   
---------------------------------
|   |   |   |   |   |   |   |   
---------------------------------
|   |   |   |   |   |   |   |   
---------------------------------
|   |   |   |   |   |   |   |   
---------------------------------

3 个答案:

答案 0 :(得分:4)

在内部for之后添加另一个打印件。像这样:

for (int row = 0; row < BOARD_SIZE; row++)
  {
      System.out.println("");
      System.out.println("---------------------------------");

      for (int column = 0; column < BOARD_SIZE; column++)
      {
          System.out.print("| " + " " + " ");
      }       
      System.out.print("|");
    }
    System.out.println("");
    System.out.println("---------------------------------");

希望它有所帮助...

答案 1 :(得分:1)

您正在打印7个管道,内部for周期从0到7(column < BOARD_SIZE),只需在内部周期结束后添加管道打印。

如果您不介意每行末尾有多余的空格,只需将for条件更改为column <= BOARD_SIZE

答案 2 :(得分:0)

您应该将第二个for语句中的BOARD_SIZE更改为9:

此代码生成您想要的国际象棋棋盘:

public static void main(String args[])
{
    for (int row = 0; row < 8; row++)
    {
        System.out.println("");
        System.out.println("---------------------------------");

        for (int column = 0; column < 9; column++)
        {
            System.out.print("| " + " " + " ");
        }
    }
    System.out.println("");
    System.out.println("---------------------------------");
}