对于循环迭代,无价值的值是1.为什么?

时间:2018-09-29 04:46:20

标签: java design-patterns

为什么k值在第一次迭代中停止为1并在第二次迭代中停止为3时是一个增量?依此类推?

public class pattern6 {
    public static void main(String... args) {
        int i, j, k, space = 5;
        for (i = 1; i <= 5; i++) {
            for (j = 0; j < space; j++)
                System.out.print(" ");
            space--;
            for (k = i; k <= 2 * i - 1; k++)
                System.out.print(k);
            System.out.print("k value:" + k); // k value is increament by 1
            if (i > 1)
                for (int temp = k - 2; temp >= i; temp--) {
                    System.out.print(temp);
                }
            System.out.println("");
        }
    }
}

输出为:

 run:
     1k value:2
    23k value:42
   345k value:643
  4567k value:8654
 56789k value:108765
BUILD SUCCESSFUL (total time: 0 seconds)

为什么k值为2,4,6,8等?

2 个答案:

答案 0 :(得分:0)

我不明白您的问题...。我可以看到输出已经按照您的期望增加了1。您提到的不是2、4、6、8:      1k值:2     23k值:42    345k值:643   4567k值:8654  56789k值:108765

        <span style="color:black;">Sold by: <span style="color:hotpink;"><a href="http://example.com/user/123/">{{$product->seller->username}}</a></span></span><br>

如果您希望代码一张一张地打印相应的值,则可以明确指出:

        for (k = i; k <= 2 * i - 1; k++)
            System.out.print(k);
        System.out.print("k value:" + k); // k value is increament by 1

答案 1 :(得分:0)

当k为2、4、6、8等时,循环停止,并且不回滚增量。

循环后,k的值会导致循环停止,否则它应该仍在循环。