如何从单个输入中扫描不定的数字列表?
我做了一个简短的谷歌搜索,发现了 hasNextInt(),但是如果最后一个输入不是整数,它只会停止扫描,而如果它是最后一个整数,我需要它停止扫描。例如,它会继续询问我的列表是否以整数结尾。
我的代码:
System.out.println("Enter a list of numbers");
int n = 0;
while (input.hasNextInt()){
n = input.nextInt();
List.push(n);
}
List.displayStack();
最佳答案
您可以使用hasNext()
来代替。然后解析输入并获取数字 -
int n=0;
Scanner input = new Scanner(System.in);
while (input.hasNext()) {
try {
n = Integer.parseInt(input.nextLine());
//do something eg.- you have done
//List.push(n);
} catch (NumberFormatException nfe) {
//handle exception
}
}
现在如果输入不是整数那么它不会停止。相反,它会去catch block 。由于 catch block 仍在 while
循环中,因此您现在仍然可以获取新输入。
希望能有所帮助。
非常感谢
关于java - 如何从单个输入扫描不确定的数字列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29152439/