java.util.NoSuchElementException:未找到行
通过扫描程序读取文件时,程序中出现运行时异常。
java.util.NoSuchElementException: No line found at java.util.Scanner.nextLine(Unknown Source)
at Day1.ReadFile.read(ReadFile.java:49)
at Day1.ParseTree.main(ParseTree.java:17)
我的代码是:
while((str=sc.nextLine())!=null){ i=0;
if(str.equals("Locations"))
{
size=4;
t=3;
str=sc.nextLine();
str=sc.nextLine();
}
if(str.equals("Professions"))
{
size=3;
t=2;
str=sc.nextLine();
str=sc.nextLine();
}
if(str.equals("Individuals"))
{
size=4;
t=4;
str=sc.nextLine();
str=sc.nextLine();
}
int j=0;
String loc[]=new String[size];
while(j<size){
beg=0;
end=str.indexOf(',');
if(end!=-1){
tmp=str.substring(beg, end);
beg=end+2;
}
if(end==-1)
{
tmp=str.substring(beg);
}
if(beg<str.length())
str=str.substring(beg);
loc[i]=tmp;
i++;
if(i==size ){
if(t==3)
{
location.add(loc);
}
if(t==2)
{
profession.add(loc);
}
if(t==4)
{
individual.add(loc);
}
i=0;
}
j++;
System.out.print("\n");
}
回答:
与Scanner
你需要检查,如果存在与下一行hasNextLine()
所以循环变成
while(sc.hasNextLine()){ str=sc.nextLine();
//...
}
是读者返回null EOF
当然在这段代码中,这取决于输入的格式是否正确
以上是 java.util.NoSuchElementException:未找到行 的全部内容, 来源链接: utcz.com/qa/410820.html