我通过读取文本文件收到"找不到行"错误代码



我遇到了一个奇怪的错误"找不到行";。我试着评论我的sem变量,认为这就是问题所在,但没有骰子。我试着注释掉我的String元素,看看这些元素是否是问题所在。如有任何帮助,我们将不胜感激。

错误:线程中出现异常";主";java.util.NoSuchElementException:找不到行位于java.base/java.util.Scanner.nextLine(Scanner.java:1651(在Driver2.main(Driver2.java:27(

Txt文件:Kimberly Signwell大二教育3.Don Boss大一新生CPSC1.Mayble Lently年少者数学6

每个元素都有自己的行。这个错误似乎表明我没有第三行,然而,txt文件有超过3行。**公共类驱动程序2{

private static Student [] students = new Student[100];
private static Scanner kbd = new Scanner(System.in);
@SuppressWarnings("resource")
public static void main(String[] args) throws FileNotFoundException
{

FileReader file = new FileReader("students.txt");       
Scanner in = new Scanner(file);

int i = 0;
while (in.hasNextLine())
{   
String l1 = in.nextLine();

String l2 = in.nextLine();
String l3 = in.nextLine();
int sem = in.nextInt();
in.nextLine();

students[i++] = new Student(l1, l2, l3, sem);   

}
runMenu();

System.out.printf("Program Finished");

}**

这可能是因为hasNextLine()条件正在检查下一行,但在循环的主体中,您正在检查接下来的四行,这可能会产生错误,因为如果程序已经到达文本文件的倒数第二行,则循环将执行,因为您确实有另一行数据,但是循环的主体需要多行数据。。。

nextLine()函数每次调用时都会将光标移动到下一行,而不仅仅是一次。尝试观看一些教程或阅读文档以了解nextLine((

相关内容

最新更新