繁体   English   中英

while循环的条件在java中不起作用

[英]Condition for while loop doesn't work in java

如果数字不等于 0 并且 rest%2 等于 1 或 -1,我希望循环重复。 但这似乎不起作用:

while (number != 0 && rest%2 == 1 || rest%2 == -1)

我必须如何编写代码才能使其正常工作?

虽然了解运算符优先级很好,但您的表达式可以减少:

while (number != 0 && rest%2 != 0)

换句话说,对于正负偶数, n % 2为 0,并且某些非偶数必须是奇数(这就是您要测试的内容)。

这是正确的方法:

while (number != 0 && (rest%2 == 1 || rest%2 == -1))

在此处查看 Java 运算符优先级https://introcs.cs.princeton.edu/java/11precedence/

如果我理解正确,您想在两种情况下进入循环:

  • number != 0 && rest%2 == 1

或者

  • rest%2 == -1

如果这是真的,请考虑使用括号:

while ((number != 0 && rest%2 == 1) || rest%2 == -1)

暂无
暂无

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

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