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

使用while循环在Java中创建棋盘,java,loops,Java,Loops,目标是使用以下模式创建ASCII棋盘: +--+ | | +--+ 我使用Java中的以下代码创建了一个包含n个框的板,但问题是,当我传递n个参数时,生成的框垂直堆叠,就像一条线: +--+ | | +--+ +--+ | | +--+ 我想让这些框在几行之间迭代,这样它就形成了一个棋盘一样的图案 这: Java代码是: public class Checkerboard { public static void main(String[] args) { int x = In

目标是使用以下模式创建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("+--+");
}
公共类棋盘{
公共静态void main(字符串[]args){
intx=Integer.parseInt(args[0]);
印刷板(x);
}
公共静态无效打印框(int NUMOFBOKS){
int i=0;
而(i”);
System.out.println(“| |”);
System.out.println(“+-->”);
}
}


如有任何意见,将不胜感激。提前谢谢

您可以通过以下伪代码构建一些东西:

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
中,然后将其“渲染”到屏幕上;)

你的问题是什么?这对你来说似乎很明显,但对其他人来说就不那么明显了。也许你应该让用户输入两个数字,一个高度和一个宽度,这样你就知道如何画框了?我想知道如何在循环中修改代码,这样我就可以让框在直线上迭代,而不是垂直堆叠。这将是一个实质性的修改。您必须生成字符串,然后打印它们。你目前的问题是打印一个方框时使用了println,这意味着你已经转到下一行。我投了反对票,因为我没有看到任何证据表明你确实试图自己解决这个问题。感觉有点像我们被要求解决你的家庭作业:-)嗯,这很有道理。是的,我意识到我需要使用不止一个循环。非常感谢^_^
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