Java嵌套for循环
这是我不明白的,因为你们可以看到我的外循环应该只打印5行,但当我添加我的内循环时,它打印6行,一个空白和5 0123这里发生了什么?为什么我的外循环打印6行
public static void main (String[] args) {
int x;
int y;
for(x=1; x<=5; x++){
System.out.println();
for (y=0; y<4; y++){
System.out.print(y);
}
}
}
# 1 楼答案
循环要做的第一件事就是输出一个换行符。出现在下一行之后,在
y
for循环中打印的任何字符。因此,这将打印5个换行符,每一行后面紧跟着下一行的y
字符。最后一次迭代在第6行打印其字符,第6行紧跟在第5个新行字符之后将
System.out.println()
移动到y
for
循环之后,这样在写入字符后,它就可以正确地结束该行# 2 楼答案
在实际输出之前打印新行。将
System.out.println();
移动到内部for循环之后:输出:
# 3 楼答案
外部循环中的第一条指令是
这意味着您正在将光标移动到下一行(第一行留空)
然后
负责在该行中打印
0123
的事件然后,在外循环的下一次迭代中,光标再次移动到下一行,并打印0123
考虑外环末尾的移动^ {< CD2>}。这样,在将光标移动到下一行之前,您将首先让内部循环打印
0123
# 4 楼答案
外部循环首先打印一个空行,然后在下一个循环上打印0123 试试看
# 5 楼答案
如果要在内部循环后打印空行,请在内部循环后放置
System.out.println()
在这里,使用调试器单步执行代码应该是故障排除的第一步。您还应该像我上面所做的那样,对循环变量检查进行标准化