异常java.util.NoSuchElementException:找不到行

时间:2016-01-08 17:07:45

标签: java filereader nosuchelementexception

当我执行我的程序时,这是一个简单的文件阅读器,我得到了异常: - >添加活动 线程“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;
}

1 个答案:

答案 0 :(得分:1)

顶部代码块中的“不匹配”:

while (tangentbord.hasNext()) {
        String line = scanner.nextLine();
        ...
}

是一只红鲱鱼!

setEventName()的第二个代码块中,您需要先检查tangentbord.hasNextLine()

EventName = tangentbord.nextLine();

(如果您愿意,可将其包裹在try ... catch中。)