gpt4 book ai didi

java - 评估两个陈述是否为假

转载 作者:行者123 更新时间:2023-11-29 07:06:15 25 4
gpt4 key购买 nike

我有 ruby​​ 背景并且是 java 的新手。这让我有点困惑,我有一个非常简单的练习,但我无法保存。

我的方法是这样的:

public void act() 
{
while((treeLeft() == false) && (treeRight() == false))
{
move();
}
}
}

所以通常我的代码应该检查两边是否有一棵树(treeleft == true 和 treeright == true)以及当两边真的有树时停止而不移动。

可是左边只有一棵树,它怎么不动?我有什么错?

最佳答案

&& 运算符的工作方式是首先计算左侧,如果计算结果为 false,则不会计算右侧,因为无论右侧的结果如何,整个表达式的结果都将为 false。因此,一旦 treeLeft() 的计算结果为真,while 就会中断并停止移动。

正确的做法是:

while(!(treeLeft() && treeRight())) 

这意味着 while 将一直循环,直到 treeLeft() 和 treeRight() 的计算结果都为真。

替代版本,使用德摩根定律:

while(!treeLeft() || !treeRight())

关于java - 评估两个陈述是否为假,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19429258/

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