-5

目标是使用以下模式创建一个 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("+--+");
}

}

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

4

1 回答 1

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 循环无法满足您的需求。

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

于 2013-04-17T14:44:34.483 回答