对于学校的一个项目,我试图使用 try/catch 来防止程序在用户输入字母而不是所需的输入类型(即双精度)时崩溃。
public static double inputSide () {
Scanner in = new Scanner(System.in);
double side = -1;
do {
try {
System.out.println("Enter a side length (in units):");
side = in.nextDouble();
}
catch(InputMismatchException e){
System.out.println("Must input number");
}
} while (side < 0);
return side;
}
当我执行这段代码时,它陷入了一个循环,它无限地输出“输入边长(以单位为单位):”和“必须输入数字”。我是使用 try/catch 的新手,所以我可能只是不熟悉这种行为。无论如何,如果有人可以帮助我找出问题所在,将不胜感激。提前致谢。