我得到了错误的输出请帮助>>>>>

I M getting wrong output pls help>>>>>

当我将 hourOfDay 的值设置为 -1、-2、-3..... 返回值应该为 false 但它正在变为 true :(

package com.company;

public class BarkingDog {
    public static boolean shouldWakeUp(boolean barking, int hourOfDay){
        if(barking && hourOfDay >24 && hourOfDay <0){
            return false;
        }
        else if(barking && hourOfDay < 8 && hourOfDay < 23){
            return true;
        }

    return false;
    }
}

看起来你打算在那里使用 || 而不是 &&:

if (barking && (hourOfDay >24 || hourOfDay <0)) {
    return false;
}

虽然整个方法似乎可以简化为一个表达式:

return barking && hourOfDay > 8 && hourOfDay < 23;

这对你有用。检查 && 是否适用于这两种情况,您应该使用 OR ||

if (barking && (hourOfDay > 30 || hourOfDay < 0)) {
            return false;
        } else if (barking && hourOfDay < 8 && hourOfDay < 25) {
            return true;
        }

        return false;
    }