为什么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)
答案 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的值会导致循环停止,否则它应该仍在循环。