使用&&/||使用次要参数的用户输入循环
问题描述:
我想输入一个条件,用户在while循环中被捕获,直到他们输入小数点.00
和.025
之间,不高或者更低。使用&&/||使用次要参数的用户输入循环
System.out.println("Enter the interest rate you would like, preferablly between .00 and .25");
while ((interestRate = keyboard.nextDouble()) < 0.00 || ((interestRate = keyboard.nextDouble()) < 0.25))
{
System.out.println("Just a number between .00 and .25, no more, no less!");
}
System.out.println("Testing for break");
我无法让被诅咒的东西正常运行,但始终运行成空白。
答
您在条件内调用keyboard.nextDouble()
两次(尽管只有第一个将在(第一个!)输入实际为负时才会被评估)。 (向后您的版本有条件的0.25也。)
while(true) {
interestRate=keyboard.nextDouble();
if(interestRate>=0 && interestRate<=0.25) break;
System.out.println("...");
}
答
你打电话nextDouble()
两次,和你的第二个条件是相反的:也许,完全不把它叫做条件内。试试这个:
while ((interestRate = keyboard.nextDouble()) < 0.00 || interestRate > 0.25)