if语句Java:如何测试输入是double还是int
我有一个做循环。检查x是否在两个值之间。现在,我应该接受一个int值,但是如果用户键入一个double,我就会得到异常。我如何在同一if语句中输入一个检查,以便如果用户键入double,它将打印类似“x必须是介于10和150之间的整数”:
do {
x = sc.nextInt();
if ( x < 10 || x > 150 ) {
System.out.print("x between 10 and 150: ");
} else {
break;
}
# 1 楼答案
您可以捕获异常并处理它,使用
while (true)
允许用户重试这是我的密码:
# 2 楼答案
# 3 楼答案
您不需要额外的支票。异常就在那里,因此您可以在程序中相应地执行操作。毕竟,输入错误的程度并不重要。只需捕获异常(我想是NumberFormatException吧?)捕获后,打印一条错误消息: