使用while循环在Java中创建棋盘

时间:2013-04-17 14:32:49

标签: java loops

目标是使用以下模式创建ASCII棋盘:

+--+
|  |
+--+

我在Java中使用了以下代码来创建一个有n个框的板,但问题是当我传递n参数时,结果框像一条线一样垂直堆叠:

+--+
|  |
+--+
+--+
|  |
+--+

我希望这些框能够跨越线条进行迭代,因此它会形成像棋盘格一样的棋盘格 这样:

+--+--+
|  |  |
+--+--+
|  |  |
+--+--+

Java代码是:

public class Checkerboard {
public static void main(String[] args) {
    int x = Integer.parseInt(args[0]);
    printBoard(x);
}


public static void printBox(int numOfBoxes) {

    int i = 0;
    while(i < numOfBoxes)
    i++;    
     System.out.print("+--+");
     System.out.println("|  |");
     System.out.println("+--+");
}

}

任何输入都将不胜感激。提前致谢!

1 个答案:

答案 0 :(得分:0)

你可以沿着这个伪代码构建一些东西:

for y=0 to 3 * ysize
   for x=0 to 3 * xsize
      if x even and y even
        print +
      if x even and y odd
        print |
      if x odd  and y even
        print --
      if x odd  and y odd
        print space space

我认为单个while循环不符合您的需求。

如果您想稍后在棋盘上放置国际象棋人物,最好将棋盘格保存到StringBuffer并将其“渲染”到屏幕上;)