0 java logic while-loop sentinel validity.js
在这里,我们试图检查已输入的数据的有效性,但我无法弄清楚问题可能是什么.我想检查"数字"是"1"还是"2",如果没有重复提示,直到输入正确的数据.问题是一旦输入了正确的数据,它应该突破循环,但我发现它保持在循环中.我已经发布了代码并可以发布更多信息以便理解.
while (( number != 1) || (number != 2)) // Check validity
{
System.out.println ( "Number must be a 1 or a 2");
System.out.print( "Enter number: " );
number = input.nextInt();
} // end of while check validity
Run Code Online (Sandbox Code Playgroud)
我已经分别测试了语句while(number != 1)并且while(number !=2)它似乎工作正常,所以看起来问题是在语句的逻辑中while(( number !=1) || (number != 2)),所以我想也许我使用了错误的"或"语句,所以尝试了其他或操作数,这不起作用,(我不记得我做了这么多切换)我认为它错误或逻辑上没有工作或没有产生影响.
我该如何解决这个问题?
你的逻辑不正确.总是如此,number不等于1或不等于2.这就是你的while循环不会终止的原因.
你需要逻辑和运算符,&&:
while (( number != 1) && (number != 2))
Run Code Online (Sandbox Code Playgroud)
所以,当number不1和number不2循环将持续下去.
| 归档时间: |
|
| 查看次数: |
1822 次 |
| 最近记录: |