以下代码:
for (i = 1; i <= 5; i++)
{
System.out.println();
for (j = 1; j <= i; j++) {
System.out.print(" ");
System.out.print(j);
}
}
产生
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
在支具中移除:
int i = 0;
int j = 0;
for (i = 1; i <= 5; i++)
{
System.out.println();
for (j = 1; j <= i; j++)
System.out.print(" ");
System.out.print(j);
}
产生
2
3
4
5
6
我可以理解嵌套for循环正在遍历" "
并打印它们,然后只打印一个j
,但我不明白j = 1
会发生什么。< / p>
答案 0 :(得分:2)
没有支撑的For循环。您在下面提到的代码:
for (j = 1; j <= i; j++)
System.out.print(" ");
System.out.print(j);
它等于以下代码:
for (j = 1; j <= i; j++) {
System.out.print(" ");
}
System.out.print(j);
这就是问题所在,试一试然后继续。
您可以按如下方式进行更改:
for (j = 1; j <= i; j++) {
System.out.print(" ");
System.out.print(j);
}
输出将是预期的,例如:
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
答案 1 :(得分:2)
第一次通过你的for循环
答案 2 :(得分:1)
由于它只执行一个语句,因此打印时j
的值大于内循环的上限(2,3,4,5,6)。
答案 3 :(得分:1)
我解决了
System.out.println();
for (j = 1; j <= i; j++)
System.out.print(" ");
System.out.print(j);
j
在打印之前递增j++
,因为循环已经过了System.out.print(j);