我只是试图从控制台读取整数(用空格分隔,例如:“6 9 20”)并将它们转换成数组供以后使用。但是,使用我目前编写的代码,我的扫描仪对象永远不会停止读取我的输入。我觉得扫描仪对象根本不知道何时停止输入,但我希望它在我按下Enter后立即停止阅读。我在网站上广泛搜索了一个确切的答案,但无济于事。
这是我的代码:
int[] mcNug = new int[5];
Scanner scanner = new Scanner(System.in);
List list = new ArrayList<Integer>();
int i = 0;
while(scanner.hasNextInt() && scanner.hasNext())
{
list.add(scanner.nextInt());
mcNug[i] = (int) list.get(i);
i++;
scanner.next();
}
答案 0 :(得分:0)
使用nextLine()
。
while( scanner.hasNextLine() ){
String line = scanner.nextLine();
String[] numbers = line.split("\\s+");
... do something with numbers array ..
}