请勿使用循环获取输入,或
nextDouble。您真正想要的是一行输入,然后将其拆分为一个双打列表。因此,请使用
nextLine,拆分并解析每个项目。像这样:
Scanner keyboard = new Scanner(System.in);ArrayList<Double> numbers = new ArrayList( );String input = keyboard.nextLine();for(String item : input.split(" ")){ numbers.add(Double.parseDouble(item));}这忽略了任何形式的输入验证,但显示了一种通用方法。
这将起作用,因为一旦您单击“
enter”(输入),它将结束第一行,这意味着扫描程序可以越过
nextLine进入代码的大部分。由于您再也不会尝试阅读任何内容,因此它不会阻止等待更多输入,并且一旦完成就可以成功退出。



