关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。
上个月关门了。
改进这个问题
如果他们的体温超出32-38的范围,并且有新的咳嗽或嗅觉丧失,我需要让程序返回真值(意味着员工生病了)。否则,员工没有生病(需要返回false。)
以下是我目前的代码:
public boolean returntowork(float temperature, boolean newCough, boolean lossOfSmell) {
if (temperature >= 38 && newCough || lossOfSmell);
return true;
}
2条答案
按热度按时间ff29svar1#
在java中,您可以使用
!
作为布尔运算中的not运算符,然后将逻辑括在括号中,这意味着您的运算将只计算为true
如果整个操作的结果是false
. 基本上和写作是一样的(1 == 2) != true
因此,您可以像这样重写您的方法(这也避免了if true {return true}
反模式)简单解释一下,每个变量都是使用or运算符分别计算的,因此如果其中任何一个变量的计算结果是
true
,则整个表达式的计算结果为false
,多亏了!
一开始不是操作员。比如说
newCough = true
,lossofSmell = false
以及temperature = 35
. 表达式变为:简化为:
最后评估为
false
.bfnvny8b2#
你很接近。做这个。
表达式是一个布尔值,因此您可以直接返回它,而不是使用
if
.编辑:您可以编写任何需要的逻辑表达式。例如,您可以这样做:
如果你想拒绝太冷的温度,过高的温度咳嗽,或失去气味。
如果你想拒绝太冷的温度只有当他们来咳嗽,你可以这样做。
这里的重点是让你的临床指标代码非常容易阅读。在现实世界中,你可能需要医生来检查你的代码;你想让她有机会理解。
而且,专业提示,总是用括号把你的
&&
以及||
操作员。不要试图记住它们的运算符优先级或依赖它。