gpt4 book ai didi

具有两个值的Java while语句哨兵控制循环不会终止

转载 作者:行者123 更新时间:2023-12-01 07:30:26 25 4
gpt4 key购买 nike

我们正在尝试检查已输入数据的有效性,但我无法弄清楚问题所在。我想检查“数字”是“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

我分别测试了语句 while(number != 1)while(number !=2) ,它似乎工作正常,所以看起来问题出在语句 while(( number !=1) || (number != 2)) 的逻辑范围内,所以我想也许我使用了错误的“or”语句,所以尝试了其他或操作数,但这不起作用,并且(我不记得我做了这么多切换)我认为它出错了或者在逻辑上不起作用或者没有产生任何影响。< br/>我该如何解决这个问题?

最佳答案

你的逻辑不正确。 number 始终不等于 1 或不等于 2。这就是为什么你的 while 循环不会终止。

您需要逻辑与运算符,&&:

while (( number != 1) && (number != 2))

因此,当 number 不是 1 并且 number 不是 2 时,循环将继续。

关于具有两个值的Java while语句哨兵控制循环不会终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18283729/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com