你能告诉我我的代码有什么问题吗?它应该要求输入,直到输入的两个输入都是整数
public static void main(String[] args) {
int a, b;
Scanner input = new Scanner(System.in);
int i = 0;
while (i == 0) {
try {
System.out.print("Enter first number");
a = input.nextInt();
System.out.println("The number you entered is " + a);
System.out.println("Enter second number");
b = input.nextInt();
System.out.println("The number you entered is " + b);
i++;
} catch (InputMismatchException e) {
e.printStackTrace();
}
}
System.out.println("End");
}
最佳答案
如果输入了无效的整数,该内容将保留在输入缓冲区中,并无限地传递到异常 block 。这些无效字符需要使用 next
来消耗或nextLine
。 hasNextInt
应该用于在调用 nextInt
关于java - 异常处理的意外输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28651601/