繁体   English   中英

使用&& / ||和带有次要参数的用户输入进行while循环

[英]While loop with user input with minor parameters using && / ||

我正在尝试输入一种条件,使用户陷入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() (尽管(第一个!)输入实际上为负,但只有第一个会被求值)。 可能不要在条件内完全调用它:

while(true) {
  interestRate=keyboard.nextDouble();
  if(interestRate>=0 && interestRate<=0.25) break;
  System.out.println("...");
}

(版本0.25的条件在您的版本中也向后。)

您两次调用nextDouble() ,第二个条件相反。 尝试这个:

while ((interestRate = keyboard.nextDouble()) < 0.00 || interestRate > 0.25)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM