为了账号安全,请及时绑定邮箱和手机立即绑定

为什么这样就只输出最后一行 ??

  while((br.readLine())!=null){

    System.out.println(br.readLine());


正在回答

4 回答

如果想要输出全部的话,不能这样写,因为当你在while中br.readLine()了之后,再在Syso中写一次br.readLine(),这时候就会变成输出第二行,而且每次判断都是奇数行,输出偶数行,当你的奇数行有值而偶数行没有,那么就会输出null。

总的来说就是每readLine()一次后,就会往下走一行。

我是这样认为的。

0 回复 有任何疑惑可以回复我~

http://img1.sycdn.imooc.com//55cea1c80001542d07540515.jpg

楼主你好··我按你的方法执行了一下我的程序,我这里输出的是全部的内容!

0 回复 有任何疑惑可以回复我~

楼上说的是,每次循环读两行,但是控制台打印的都是偶数行的数据,也可能打印不出来(当基数行!=null&&偶数行==null)

0 回复 有任何疑惑可以回复我~

String s="";

while((s=br.readLine())!=null){

    System.out.println(s);

代码最好写成上面这样,按照你的写法,每次循环要执行两次br.readLine()语句,相当于每次执行循环要读两行。


1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么这样就只输出最后一行 ??

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信