for循环制作跳房子结构?

时间:2015-01-23 18:38:35

标签: java for-loop nested nested-loops

我应该归还这个:

   1
2     3
   4
5     6
   7
8     9
   10

如果我将该方法称为hopscotch(3);

我使用此代码获得了过多的输出:

public static void hopscotch(int hops){
    String space = " ";
    int numbers = 1;
      for (int i = 1; i <= hops; hops++){
          System.out.print(space);
          System.out.println(numbers);

          numbers++;
          System.out.print(numbers);
          numbers++;
          System.out.print(space);
          System.out.print(numbers);
          numbers++;
      }
}

感谢任何帮助。 我需要一个嵌套的for循环吗?

2 个答案:

答案 0 :(得分:1)

你输出过多的原因是因为你增加了产量 hops循环中的for变量。注意循环构造函数中的hops++。你应该增加循环计数器,你指定为i。因此,您可以通过将hops++替换为i++来解决此问题(并删除您获得的额外行)。

我使用main方法运行测试,执行以下操作(我只是硬编码了5个跃点):

public static void main(String[] args) {
    int hops = 5;
    int currentNum = 1;

    for (int i = 1; i <= hops; i++) {

        System.out.print("    ");
        System.out.println(currentNum);
        currentNum++;

        System.out.print(" " + currentNum);
        currentNum++;
        System.out.println("    " + currentNum);
        currentNum++;

    }
    System.out.print("    ");
    System.out.println(currentNum);

}

得到了输出:

    1
 2    3
    4
 5    6
    7
 8    9
    10
 11    12
    13
 14    15
    16

答案 1 :(得分:0)

要解决&#34;我使用此代码&#34;获得过多输出,请更改此信息:

 for (int i = 1; i <= hops; hops++){

对此:

 for (int i = 1; i <= hops; i++){