循环出了点问题
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
----------------解决方案--------------------------------------------------------
String s=br.readLine();
for(int i=0;s!=null;i++)
{
System.out.println("第"+(i+1)+"行:"+s);
}
这里的String s=br.readLine();在循环外面,之执行了一次。永远不会等于null,所以肯定是循环了。
我觉得是这样,我也是初学者。
一起等等牛人的解答
----------------解决方案--------------------------------------------------------
以下是引用木头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,所以肯定是循环了。
我觉得是这样,我也是初学者。
一起等等牛人的解答
就是这么回事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);
}
----------------解决方案--------------------------------------------------------
BufferedReader类型的 很少用for来控制,,多用while。。
----------------解决方案--------------------------------------------------------