Java 我似乎无法获得示例输出,我的代码返回true、true、false和false。我的范围是否不缺少任何附加条件语句?

Java 我似乎无法获得示例输出,我的代码返回true、true、false和false。我的范围是否不缺少任何附加条件语句?,java,Java,我有以下场景: 我们有一只喜欢叫的狗。如果狗在晚上吠叫,我们需要醒来 编写一个有2个参数的方法shouldWakeUp 第一个参数应为布尔类型,并命名为barking,表示我们的狗当前是否在吠叫。 第二个参数表示一天中的小时,类型为int,名称为houroday,有效范围为0-23 如果狗在8小时之前或22小时之后吠叫,我们必须醒来,因此在这种情况下返回true 在所有其他情况下,返回false 如果hourOfDay参数小于0或大于23,则返回false 输入/输出示例: 应该唤醒(true

我有以下场景: 我们有一只喜欢叫的狗。如果狗在晚上吠叫,我们需要醒来

编写一个有2个参数的方法shouldWakeUp

第一个参数应为布尔类型,并命名为barking,表示我们的狗当前是否在吠叫。 第二个参数表示一天中的小时,类型为int,名称为houroday,有效范围为0-23


如果狗在8小时之前或22小时之后吠叫,我们必须醒来,因此在这种情况下返回true

在所有其他情况下,返回false

如果hourOfDay参数小于0或大于23,则返回false

输入/输出示例:

  • 应该唤醒(true,1)
    → 应返回
    true
  • 应该唤醒(false,2)
    → 应该返回
    false
    ,因为狗没有吠叫
  • 应该唤醒(true,8)
    → 应该返回
    false
    ,因为它不在8之前
  • 应该唤醒(true,-1)
    → 应返回
    false
    ,因为
    hourOfDay
    参数需要在0-23范围内
这是我的代码:

public static boolean shouldWakeUp(boolean barking, int hourOfDay) {
    if (hourOfDay < 0 || hourOfDay >= 23) {
        return false;
    }
    if (hourOfDay < 8 || hourOfDay >= 22) {
        return true;
    } else {
        return false;
    }
}
publicstaticboolearnshouldwakeup(布尔吠叫,inthourofday){
如果(小时数<0 | |小时数>=23){
返回false;
}
如果(小时数<8 | |小时数>=22){
返回true;
}否则{
返回false;
}
}

您忘了使用
布尔吠声
hourOfDay
可能是
23

public static boolean shouldWakeUp(boolean barking, int hourOfDay) {
    if (!barking)
        return false;
    if (hourOfDay < 0 || hourOfDay > 23)
        return false;
    return hourOfDay < 8 || hourOfDay >= 22;
}

您忘记使用
boolean barking
hourOfDay
可能是
23

public static boolean shouldWakeUp(boolean barking, int hourOfDay) {
    if (!barking)
        return false;
    if (hourOfDay < 0 || hourOfDay > 23)
        return false;
    return hourOfDay < 8 || hourOfDay >= 22;
}
publicstaticboolearnshouldwakeup(布尔吠叫,inthourofday){
如果(小时数<0 | |小时数>23){
返回false;
}否则如果(吠叫和(hourOfDay<8 | | hourOfDay>22)){
返回true;
}否则{
返回false;
}
}
公共静态布尔应唤醒(布尔吠叫,inthourofday){
如果(小时数<0 | |小时数>23){
返回false;
}否则如果(吠叫和(hourOfDay<8 | | hourOfDay>22)){
返回true;
}否则{
返回false;
}
}

如果(吠叫)你从不检查,那么如果狗吠叫或不吠叫,你怎么能做些不同的事情呢?那吠叫呢?你应该
返回吠叫
而不是
返回真
…你从不检查
是否(吠叫)
,那么如果狗在吠叫或不在吠叫,你怎么能做一些不同的事情呢?那
吠叫
呢?你应该
返回吠声
而不是
返回真值
。“如果狗在8小时之前或22小时之后吠叫,我们必须醒来,因此在这种情况下返回真值。”否则,+1。“如果狗在8小时之前或22小时之后吠叫,我们必须醒来,因此在这种情况下返回真值。”否则,+1.请提供一些有见地的注释,说明此代码为实现答案完整性所做的工作。回答好,但现有代码已足够我认为请提供一些有见地的注释,说明此代码为实现答案完整性所做的工作。回答好,但我认为现有代码已足够
  public static boolean shouldWakeUp(boolean barking, int hourOfDay) {
        if (hourOfDay < 0 || hourOfDay > 23) {
            return false;

        } else if (barking && (hourOfDay < 8 || hourOfDay > 22)) {
            return true;

        } else {
            return false;
        }
    }