java.lang.NullPointerException的问题

naixian1983 2010-03-18 02:49:17

public void readfile()
{

String[] record = new String[50];
String str_relation=new String();
int i=0;

try
{
FileReader read=new FileReader("Family Info.txt");
Scanner scanner=new Scanner(read);
while(scanner.hasNextLine())
{
i++;
record[i]=scanner.nextLine();
System.out.println(record[i]);
}
System.out.println(i);
for(int a=0;a<i;a++)
{
if(record[a].equals("Relation:Key Person"))
{
System.out.println("ok");
}
else
{
System.out.println("not ok");
}

}



read.close();


}catch(Exception e){
System.out.println(e);

}



}




if(record[a].equals("Relation:Key Person"))出现java.lang.NullPointerException的问题
把a换成数字就没问题了,怎样解决?
...全文
179 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
fujianeng 2010-03-19
  • 打赏
  • 举报
回复
i++放到while块的最后
dom72 2010-03-18
  • 打赏
  • 举报
回复
record[0]是空的把。。楼主你的数据是从1开始的
xiaohuanjie 2010-03-18
  • 打赏
  • 举报
回复
可能是数组里有空指针

你把

while(scanner.hasNextLine())
{
i++;
record[i]=scanner.nextLine();
System.out.println(record[i]);
}



改成


while(scanner.hasNextLine())
{
record[i]=scanner.nextLine();
i++;

System.out.println(record[i]);
}



再试试
soli11722984 2010-03-18
  • 打赏
  • 举报
回复
LZ,你i初始化是0,然后while马上就++,那么我问,数组下标为0的。。。。。。不是null吗??
xiesisi3 2010-03-18
  • 打赏
  • 举报
回复
debug,看当a运行到几的时候抛异常
aSysBang 2010-03-18
  • 打赏
  • 举报
回复
调试下 看a 为几时 会抛异常
bayougeng 2010-03-18
  • 打赏
  • 举报
回复
数组里面有null呗。没别的可能了。

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧