当我执行我的程序时,这是一个简单的文件阅读器,我得到了异常: - >添加活动 线程“main”中的异常事件名称:java.util.NoSuchElementException:找不到行
我曾尝试阅读有关相同异常的早期帖子但没有任何帮助,尝试过hasNextLine();没工作。不确定问题所在。
while (tangentbord.hasNext()) {
String line = scanner.nextLine();
line.toLowerCase();
System.out.println("->" + line);
if (line.equals("add event")) {
GL.addEvent();
}
下面是决定事件名称的方法,也就是抛出异常的地方。
private String setEventName() {
String EventName;
do {
System.out.print("Name of event: ");
EventName = tangentbord.nextLine();
EventName.trim();
if (EventName.length() <= 1 || EventName.isEmpty() || EventName.contains(" ")) {
System.out.println("Invalid input, try again");
}
} while (EventName.length() <= 1 || EventName.isEmpty() || EventName.contains(" "));
EventName= normalisera(EventName);
for (int i = 0; i < events.size(); i++) {
if (events.get(i).EventName().equals(EventName)) {
System.out.println("Event allready exist");
EventName = null;
}
}
return EventName;
}
答案 0 :(得分:1)
顶部代码块中的“不匹配”:
while (tangentbord.hasNext()) {
String line = scanner.nextLine();
...
}
是一只红鲱鱼!
在setEventName()
的第二个代码块中,您需要先检查tangentbord.hasNextLine()
:
EventName = tangentbord.nextLine();
(如果您愿意,可将其包裹在try ... catch
中。)