我试图用Scanner预期输入一个InputMismatchException,如果输入等于“c”或“q”我想运行catch块中的一些特定代码。我想知道是否有办法在引发异常之后获取用户输入的值。因此,例如,如果代码调用double并且用户输入字母“c”,我希望能够知道特别是“c”被输入,并且如果为true,则执行某些操作。下面是我尝试写的代码,其中“的getValue()”是一个虚构的方法名称来形容我试图做到:Java:获取抛出异常的用户输入的值
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");
}
}
预先感谢您的输入:)
检查出Double.parseDouble()函数,你将使用Scanner.next()或Scanner.nextLine(); – EyeOfTheHawks