for(String k = br.readLine(); k != null; k = br.readLine()) {
System.out.println(k);
}
用这段代码时,在前两行设定breakpoint
br是BufferedReader物件,使用FileReader初始化
FileReader是一个txt文件,内容如下:
1
2
3
4
5
.
.
(省略)
.
.
28
29
30
如果直接执行,output会给出一串1~30的数字,没有问题
可是如果用debug一行行跑,输出会变这样:
5
10
15
20
25
30
请问是为什么......
原本遇到的问题不是这个,只是我一条条追查后发现问题是在这个地方
特意把他单独呈现出来
奇怪的是,另一个程式却不会这样(输出都是正常的)
而两个程式之中,我的for loop写法是完全一样的(当然当中都没有任何readLine()
或是类似功能的东西)
但跑出来的东西却不一样
改成
String k;
while((k = br.readLine()) != null)
同样出现
5
10
15
20
25
30
这个奇怪的输出
到底为什么?我现在满脸黑人问号快崩溃了