我设法能够检查输入并判断它是否是 int,并重新询问用户是否不是。 不过,我想添加一个检查,通过四舍五入将 double 转换为整数。我尝试了 Math.round 方法,但无法让任何东西正常工作。
public static int getInteger(String prompt)
{
int input = 0;
Scanner user_input = new Scanner( System.in );
System.out.print("Enter a integer: ");
while (!user_input.hasNextInt()) {
System.out.println("Is not a valid number.");
user_input.next();
}
return input;
}
如果有人能告诉我怎么做,那就太好了,干杯。
最佳答案
public static int getInteger()
{
int input = 0;
Scanner user_input = new Scanner( System.in );
System.out.print("Enter a integer: ");
while (!user_input.hasNextInt() && !user_input.hasNextDouble()) {
System.out.println("Is not a valid number.");
user_input.next();
}
if(user_input.hasNextInt()) {
input = user_input.nextInt();
}
else {
input = Math.round((float) user_input.nextDouble()); //I assume here that your number is small as you said
}
return input;
}
关于java - 检查参数时舍入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12017759/