Java无限循环

时间:2017-12-06 04:10:55

标签: java java.util.scanner

我接受多行信息(字符串,直到我稍后解析它们)。例如:

1 5 0
2 9 6
2 9 1

我编写此代码来分隔行,因为我将不得不以某种方式操纵每一行。

Scanner scan = new Scanner(System.in);
System.out.println("Enter input: ");
ArrayList<String> lines = new ArrayList<String>();


while(scan.hasNextLine()) {
    lines.add(scan.nextLine());
}

System.out.println(lines.get(0));

我对此进行了测试,确实将输入的每一行分开并将其添加到我的arraylist中,但是scan.nextLine()中while循环中的部分正在检查更多输入,从而导致无限循环。 我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

总是假设扫描仪有更多行,因为您总是可以在控制台中输入更多行。我的建议是检测while循环中的空行或者有一行有默认字符的行,例如-1,作为第一个让程序知道何时结束程序的字符。或者,您可以使用文件输入,它实际上可以检测是否有更多行。