| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 550 人关注过本帖
标题:循环出了点问题
只看楼主 加入收藏
tudou2xigua
Rank: 2
等 级:论坛游民
帖 子:87
专家分:54
注 册:2011-3-20
结帖率:90.32%
收藏
已结贴  问题点数:20 回复次数:3 
循环出了点问题
FileReader fr=new FileReader(file);
BufferedReader br=new BufferedReader(fr);
String s=null;
for(int i=0;(s=br.readLine())!=null;i++)
{
    System.out.println("第"+(i+1)+"行:"+s);
}
br.close();
fr.close();
上面这段程序输出结果是正确的,问题是,我把循环改成像下面这样就死循环了!为什么?
String s=br.readLine();
for(int i=0;s!=null;i++)
{
     System.out.println("第"+(i+1)+"行:"+s);
}
搜索更多相关主题的帖子: null 
2011-10-27 16:36
木头lbj
Rank: 7Rank: 7Rank: 7
来 自:黄山
等 级:黑侠
威 望:1
帖 子:269
专家分:527
注 册:2010-11-6
收藏
得分:7 
String s=br.readLine();   
for(int i=0;s!=null;i++)
{
     System.out.println("第"+(i+1)+"行:"+s);
}


这里的String s=br.readLine();在循环外面,之执行了一次。永远不会等于null,所以肯定是循环了。


我觉得是这样,我也是初学者。
一起等等牛人的解答

。。。!!!)))000
2011-10-28 19:25
让我们飞
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:40
专家分:119
注 册:2011-1-9
收藏
得分:7 
以下是引用木头lbj在2011-10-28 19:25:02的发言:

String s=br.readLine();     
for(int i=0;s!=null;i++)
{
     System.out.println("第"+(i+1)+"行:"+s);
}
 
 
这里的String s=br.readLine();在循环外面,之执行了一次。永远不会等于null,所以肯定是循环了。
 
 
我觉得是这样,我也是初学者。
一起等等牛人的解答
就是这么回事
  输出br.readLine()的时候不会用for
int i=0;
String s=null;
while((s=br.readLine())!=null){
     System.out.println("第"+(i+1)+"行:"+s);
}
2011-11-03 15:49
w123012306
Rank: 9Rank: 9Rank: 9
来 自:湖南
等 级:蜘蛛侠
威 望:4
帖 子:307
专家分:1180
注 册:2010-4-22
收藏
得分:7 
BufferedReader类型的 很少用for来控制,,多用while。。

楼上,楼下的一定要幸福开心哦!
2011-11-03 16:59
快速回复:循环出了点问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014680 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved