【发布时间】:2013-04-17 14:32:49
【问题描述】:
目标是使用以下模式创建一个 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("+--+");
}
}
任何意见将不胜感激。提前致谢!
【问题讨论】:
-
您的问题是什么?这对你来说可能很明显,但对其他人来说不太明显。
-
也许你应该让用户输入两个数字,一个高度和一个宽度,这样你就知道如何绘制框了?
-
嗯,我想知道如何修改循环中的代码,这样我就可以让它们跨行迭代,而不是垂直堆叠。
-
这将是一个实质性的修改。您必须生成字符串,然后打印它们。您当前的问题是打印一个框使用 println,这意味着您已经移动到下一行。
-
我投了反对票,因为我没有看到任何证据表明您实际上试图自己解决问题。感觉有点像我们被要求解决你的作业:-)