Java Arraylist程序抛出NoSuchElementException

时间:2018-08-17 06:57:45

标签: java algorithm data-structures

我的程序应接受任何数据类型的文件输入并显示它。但是,在阅读了第7个元素之后,出现了错误“ NoSuchElementException”

这是我的代码:

THis is my code

2 个答案:

答案 0 :(得分:9)

在while循环中,您连续执行两个“ in.next()”,而不检查“ in.hasNext()”

您应将in.next()存储在变量中,然后将该变量添加到ArrayType和LinkType。

while(in.hasNext()) {
    Object o = in.next();
    ArrayType.add(o);
    LinkType.add(o);
}

根据您的评论,如果您只想打印出来以查看其他所有内容均正常运行,请使用以下方法:

public static void main(String[] args) throws IOException {
    List<String> lines = Files.readAllLines(Paths.get(("input.txt")));
    for (String line : lines) {
        System.out.println(line);
    }
}

答案 1 :(得分:1)

我认为您正在尝试这样做:

public static void main(String[] args) throws FileNotFoundException {
    Scanner in = new Scanner(new FileReader("input.text"));
    List<String> arrayType = new ArrayList<>(100);
    List<String> linkedType = new LinkedList<>();
    while (in.hasNext()){
        String line = in.next();
        arrayType.add(line);
        linkedType.add(line);
    }
    System.out.println(arrayType);
}