[英]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.