gpt4 book ai didi

java - 当我尝试使用扫描仪时,为什么会收到 java.util.NoSuchElementException

转载 作者:行者123 更新时间:2023-12-01 17:52:55 26 4
gpt4 key购买 nike

所以我正在尝试读取一个包含名称的文件,并且我想制作一个包含文件中所有人员的列表。该文本文件名为 people.txt,结构如下:姓/姓\n姓/姓等等。该文件应位于正确的位置。

代码:

public class UI {
public static void main(String[] args) {
String naam;
ArrayList <Person> people = new ArrayList<>();
Scanner sc = new Scanner("people.txt");
while(sc.hasNextLine()) {
Scanner line = new Scanner(sc.nextLine());
line.useDelimiter("/");
String name = line.next();
String surname= line.next();
Person a = new Person(name, surname);
people.add(a);
}
System.out.println(people.size());
}

错误:

Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at domain.UI.main(UI.java:14)

最佳答案

问题出在这里:

Scanner sc = new Scanner("people.txt");

这不会使新的扫描器从名为people.txt的文件中获取信息。它创建了一个新的 Scanner,其中包含文本“people.txt”。由于只有一行,因此当您尝试获取第二行时,它会抛出错误。

听起来您想使用以下构造函数:

Scanner(Path source)

您在哪里使用 Interface Path Class Scanner 中的对象。

Path p1 = Paths.get(“people.tx”);
Scanner sc = new Scanner(p1);

关于java - 当我尝试使用扫描仪时,为什么会收到 java.util.NoSuchElementException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48036129/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com