如何解决整数的值而不是抛出异常?
问题描述:
我需要使用floor函数修复用户输入的值,而不是让它抛出异常并停止。可能吗? 如果用户输入8.3;它应该变成8而不是抛出异常。任何想法如何执行此?那我写代码如何解决整数的值而不是抛出异常?
部分,就如同:
try{
int y=0;
Scanner inputY = new Scanner(System.in);
System.out.println("Enter an Integer between 1-9");
y = inputY.nextInt();
catch(InputMismatchException e){
return 0;
}
finally{
System.out.println("The input number was not an integer between 1-9");
System.exit(0);
}
答
不要使用nextInt()
但nextDouble()
,使从双转换为int。
double y = inputY.nextDouble();
int x = (int) y;
+0
很酷。它工作得很好。谢谢!! –
+0
欢迎您:) – davidxxx
'Scanner'提供了'hasXyz'方法来测试是否读取'nextXyz'将引发异常。您可以使用此方法来决定'Scanner'是否正在查看'int'或'double',并阅读哪一个可用。 – dasblinkenlight