我试图用 Scanner 捕获一个 InputMismatchException 期望双精度,如果输入等于“c”或“q”,我想在 catch 块中运行一些特定的代码。我想知道是否有办法在抛出异常后获取用户输入的值。因此,例如,如果代码需要双精度并且用户输入字母“c”,我希望能够知道具体输入了“c”,如果为真,则执行某些操作。这是我正在尝试编写的代码,其中“getValue()”是一个虚构的方法名称,用于描述我要完成的工作:
double value = 0.0;
try{
System.out.print("\nEnter a number: ");
value = input.nextDouble();
}
catch(InputMismatchException notADouble){
if(notADouble.getValue().equalsIgnoreCase("c")){
//run the specific code for "c"
}
else if(notADouble.getValue().equalsIgnoreCase("q")){
//run the specific code for "q"
}
else{
System.out.print("\nInvalid Input");
}
}
提前感谢您的输入:)