【发布时间】:2017-02-23 09:16:08
【问题描述】:
请帮忙。
声明需要打印:
"请输入您家的保险价值为整数:"
这很简单,但是如果我输入一个双精度,另一个语句会打印:“您必须只输入一个整数:”
这就是我卡住的地方。无论如何,我都会遇到致命的逻辑错误。
这是我的代码,以声明的变量开头并跳过代码之间的中间部分:
double homeInsVal = 0.0;
<other code>
System.out.printf("%nPlease enter the insured value of your home as a whole number: ");
homeInsVal = input.nextDouble();
{
if (homeInsVal >= 0.0)
{
System.out.printf("%nYou must only enter an integer: ");
homeInsVal = input.nextInt();
}
}
我的逻辑完全错误。我将 homeInsVal 声明为 double 的原因是,如果我在输入小数后立即将其声明为 Int 以故意提示第二条语句,则会出现逻辑错误,我的代码将终止,但我目前编写代码的方式是即使我输入一个整数,第二个提示也会打印出来。
请帮忙!
注意:这是一个介绍性的 Java 类,虽然乞丐不能成为选择者,但请尽可能简单地解释。谢谢!
【问题讨论】:
-
Java 中的整数值验证 stackoverflow.com/questions/8336607/…
标签: java if-statement while-loop int double