我正在编写一个脚本,用户只能输入正整数。我正在使用带有try catch和while循环的扫描仪。循环是不断要求用户输入正确的信息。
我可以查看负整数,但字符串或其他一些疯狂的东西呢?
int price = 0;
Scanner input = new Scanner(System.in);
try {
System.out.println("Enter max price: ");
price = input.nextInt();
if (price > 0) {
input.close();
} else {
while (price < 0) {
System.out.println("Negative values not allowed");
System.out.println("Enter max price: ");
price = input.nextInt();
}
input.close();
}
} catch (InputMismatchException e1) {
}
我有点陷入困境..
答案 0 :(得分:2)
调用input.hasNextInt()
以检查下一个标记是否实际上是一个整数。 Scanner
中有很多有用的方法,所以我建议taking a look at the docs。