我编写了这个简单的代码来获取一个双精度并一直询问直到给出一个,但是当你给出一个字符串时,它只会变成一个无限循环,我不知道为什么。它有这种行为的任何理由?
Scanner scanner = new Scanner(System.in);
double x = 0.0d;
while (true) {
try {
System.out.println("Gimme a double:");
x = scanner.nextDouble();
break;
} catch (InputMismatchException e) {}
}
System.out.println(x);