String s;
while((s = in.readLine())!= null )
System.out.println(s);
这样编译正常
while((String s = in.readLine())!= null )
System.out.println(s);
但是为什么这样就会编译错误,说缺少括号呢,望高手解答

解决方案 »

  1.   

    while()里面是不能定义变量的,唯有for可以:
    for(String s1;(s1=in.readLine())!=null;);
      

  2.   

    原因很简单,就是你声明的String s,它的作用范围仅仅限于while条件的判断里面。
    修改如下,请lz参考:
    public void fun13() {
    try {
    FileReader fr = new FileReader("E:\\Oracle\\sex.txt");
    BufferedReader in = new BufferedReader(fr);
    String s;
    while((s = in.readLine())!= null )
    System.out.println(s);
    } catch (Exception ex) {
    ex.printStackTrace();
    }
    }