黑马程序员技术交流社区
标题:
新手求传值问题
[打印本页]
作者:
月光海
时间:
2014-4-13 21:59
标题:
新手求传值问题
import java.io.*;
class MyLineReader
{
public static void main(String[] args) throws IOException
{
FileReader fr=new FileReader("d:\\xiaonan.txt");
MiLineNumReader mr=new MiLineNumReader(fr);
String s=null;
while ((s=mr.myGetLineNum())!=null)
{
System.out.println(s);
}
fr.close();
}
}
class MiLineNumReader extends Reader
{
private FileReader r;
int num=0;
MiLineNumReader(FileReader r)
{
super(r);
this.r=r;
}
BufferedReader br=new BufferedReader(r);//在这一句抛出了空指针异常
public String myGetLineNum() throws IOException
{
if(br.readLine()!=null)
{
return (num++)+br.readLine();
}
return null;
}
public void close()throws IOException
{
r.close();
}
public int read(char[] cbuf, int off, int len) throws IOException
{
return read(cbuf, off, len);
}
}
复制代码
我的问题是,
MiLineNumReader mr=new MiLineNumReader(fr);这一句
我往构造函数里传递了参数,为什么却没有赋值成功,导致我
BufferedReader br=new BufferedReader(r);这句的r为null,抛出了空指针异常,求解
作者:
月光海
时间:
2014-4-13 22:09
MiLineNumReader(FileReader r)
{
super(r);
this.r=r;
}
这句的super原来没加,我调试了一下,发下大括号其实根本就没进去,是什么情况呢
作者:
月光海
时间:
2014-4-13 23:21
没人懂?没人看?没人理?都睡了?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2