目标是使用以下模式创建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("+--+");
}
}
任何输入都将不胜感激。提前致谢!
答案 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
并将其“渲染”到屏幕上;)