用Java编写实现以下逻辑的函数:您的手机响起。如果您应该回答,则返回true。通常情况下,您会回答,但早上除外,只有在您妈妈打来电话时您才回答。在所有情况下,如果您都睡着了,就不会回答。
public boolean answerCell(boolean isMorning, boolean isMom, boolean isAsleep)
{
if (isMom && isMorning && isAsleep)
{
return false;
}
if ((!isMom) && isMorning && isAsleep)
{
return false;
}
if (isMorning && isMom && (!isAsleep))
{
return true;
}
if ((!isMorning) && isMom && isAsleep)
{
return false;
}
else
{
return true;
}
}
对于我上面编写的代码,我得到的问题覆盖率仅为63%,我不知道为什么。我收到的反馈是(错误,错误,正确)是正确的,但我期望错误。 (true,false,false)为true,但也应该为false。
答案 0 :(得分:2)
简化if语句
这是详细的方法,因此您可以了解应该做什么:
/var/www/
但是您可以使用一行If语句来做以下事情:
docker run -it -v /Users/.../Desktop/docker/test2/bh_files:/var/www -p 8080:8080 k/bh:latest
尽管网上有很多信息,但如果您需要有关if语句的更多信息,您可以签出this resource。
答案 1 :(得分:0)
尽量不要将所有条件分解为一个语句。一次一步地解决问题。
通常您会回答
return true;
除了早上,您只有在妈妈打来电话时才回答。
if (isMorning) {
if (isMom) {
return true;
}
else {
return false;
}
}
return true;
在所有情况下,如果您都在睡觉,就不会回答。
if (isAsleep) {
return false;
}
if (isMorning) {
if (isMom) {
return true;
}
else {
return false;
}
}
return true;
答案 2 :(得分:0)
public boolean answerCell(boolean isMorning, boolean isMom, boolean isAsleep) {
if(isAsleep==true)
{
return false;
}
else if( (isMorning ==false) && (isMom==false) && (isAsleep==false))
{
return true;
}
else if( (isMorning ==true) && ((isMom==true) ))
{
return true;
}
else if( (isMorning ==true) && ((isMom==false) ||(isAsleep==false)))
{
return false;
}
else
{
return true;
}
}