java - 返回 boolean 值的 if 语句函数

标签 java if-statement

用 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。

最佳答案

Simplifying if statements

这是详细的方法,因此您可以了解应该做什么:

public boolean answerCell(boolean isMorning, boolean isMom, boolean isAsleep){
    if(isAsleep){
        return false;
    }else{
        if(isMorning){
            if(isMom){
                return true;
            }else{
                return false;
            }
        }else{
            return true;
        }
    }
}

但是您可以使用一行 If 语句执行以下操作:

public boolean answerCell(boolean isMorning, boolean isMom, boolean isAsleep){
    return isAsleep?false:isMorning?isMom:true;
}

如果您需要有关一行 if 语句的更多信息,您可以查看 this resource ,虽然网上有很多信息。

关于java - 返回 boolean 值的 if 语句函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54857422/

相关文章:

Java 按值传递理解

java - 拒绝 OS X 系统关闭

c - C 中的基本套接字编程

java - 程序误读了我的输入

Java <-> Scala 互操作 : transparent List and Map conversion

java - 如何在Java中将8个字符的字符串转换为ARGB颜色格式?

java - Hibernate多对一关系注释

python - 如果元素不遵循 'if' 'or' 语句,则从列表中删除它们

mysql - If 条件 UPDATE else INSERT

R - if_else 分配 na 值