gpt4 book ai didi

java - 具有多个逻辑运算符的三重条件 Do-While 循环

转载 作者:行者123 更新时间:2023-12-02 11:15:30 25 4
gpt4 key购买 nike

我无法在 Java 中使用下面的 do-while 循环。感谢您的帮助。

do{
//User enters a value for x
//User enters a value for y
}while(x==-1 && y==-1 || x==5 || y==10);

我想做的很简单:
a) 如果 x 和 y 均为 -1,则终止循环
b) 如果 x 是 5 OR y 是 10 则终止循环

最佳答案

你把问题看错了。您的循环将在您想要停止的地方继续

您应该简单地执行以下操作并反转条件

do {

} while (!(x == -1 && y == -1 || x == 5 || y == 10));
<小时/>

Demo

public static void main (String[] args) {
System.out.println(conditionTesting(0, -1)); // true
System.out.println(conditionTesting(-1, -1)); // false
System.out.println(conditionTesting(5, -1)); // false
System.out.println(conditionTesting(-1, 10)); // false
System.out.println(conditionTesting(6, 9)); // true
}

public static boolean conditionTesting(int x, int y) {
return !(x == -1 && y == -1 || x == 5 || y == 10);
}
<小时/>

德摩根

如果你想用 DeMorgan's Law 来表示它,您可以使用以下步骤来完成

¬((P ∧ Q) ∨ R ∨ S)
≡¬(P ∧ Q) ∧ ¬R ∧ ¬S
≡(¬P ∨ ¬Q) ∧ ¬R ∧ ¬S

所以你的最终翻译是

(x != -1 || y != -1) && x != 5 && y != 10

Ideone Demo

关于java - 具有多个逻辑运算符的三重条件 Do-While 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50310344/

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