我正在创建一个数学程序,用户在其中输入答案。我想显示一条消息“所有解决方案必须以十进制数字形式输入”。我如何确保用户输入 double ,如果不显示该消息。到目前为止我已经尝试过:
if(userLetter.equalsIgnoreCase("a")) {
System.out.print("What is the solution to the problem:" + " " + ran1Shift + " " + "+" + " " + ran2Shift + " = ");
double userNum = input.nextDouble();
if(userNum == additionAnswer){
System.out.println("That's correct!");
}
else{
System.out.println("The correct solution is: " + additionAnswer);
}
}
所以基本上我现在将其设置为显示答案是否完全正确或错误,但是如果用户输入非 double ,我如何制作另一个部分来捕获?谢谢您的帮助:)
最佳答案
假设input
是一个Scanner
,那么你可以调用Scanner.hasNextDouble()
如果此扫描仪输入中的下一个标记可以使用 nextDouble()
解释为 double 值,则返回 true
方法。类似,
if (input.hasNextDouble()) {
double userNum = input.nextDouble();
if (userNum == additionAnswer) {
System.out.println("That's correct!");
} else {
System.out.println("The correct solution is: " + additionAnswer);
}
} else {
System.out.println("All solutions must be entered as decimal numbers");
}
关于java - 如何使用if语句检查用户输入是否是某种变量类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35107238/