【发布时间】:2021-03-05 19:03:10
【问题描述】:
如果他们的体温超出 32-38 的范围,并且他们有新的咳嗽或嗅觉丧失,我需要让程序返回 true(意味着员工生病)。否则,员工没有生病(需要返回false。)
到目前为止,这是我的代码:
public boolean returntowork(float temperature, boolean newCough, boolean lossOfSmell) {
if (temperature >= 38 && newCough || lossOfSmell);
return true;
}
【问题讨论】:
-
乍一看我觉得不错。如果
lossofSmell为真,即使temperature小于38,我们是否希望该方法返回真?您能否提供一组测试数据,包括预期结果和实际结果? -
@Hoppeduppeanut 你好,所以我需要的方法是在温度高于 38 或低于 32 时返回 true,并且要么失去嗅觉是真的,要么是新的咳嗽是真的。谢谢:)
-
您的问题含糊不清。是(温度超出32-38的范围),还是(他们有新的咳嗽或嗅觉丧失)--或--(体温超出 32-38 的范围,并且他们有新的咳嗽)或(嗅觉丧失)?根据目前的想法,嗅觉丧失在诊断方面的重要性超过温度。
-
我建议您仔细考虑可能性。如果他们的体温是 40 度,但没有新的咳嗽或嗅觉丧失,那么他们生病了吗?
-
然后是
boolean sick = ((temp < 32 || temp >38) && (newCough || lossOfSmell))——这是一个布尔表达式,您可以直接返回。并且括号是必需的,因为&&的优先级高于||