尝试解决它,但没有将任何内容打印到控制台



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

第一个参数应该是布尔类型,并命名为吠叫,它表示我们的狗当前是否为//Barking。

第二个参数表示一天中的小时,类型为 int,名称为 hourOfDay,//有效范围为 0-23。

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

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

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

输入/输出示例:

  • shouldWakeUp (true, 1(; → 应该返回 true

  • shouldWakeUp(假,2(;→应该返回假,因为狗没有吠叫。

  • shouldWakeUp(true, 8(; →应该返回 false,因为它不在 8 之前。

  • shouldWakeUp (true, -1(; → 应该返回 false,因为 hourOfDay 参数需要在//0-23 范围内。


public class BarkingDog {
public static void main(String[] args) {
// calling the method 
shouldWakeUp(true, 25 );
shouldWakeUp(true, 1 );
}
public static boolean shouldWakeUp ( boolean barking, int hourOfDay) {
//hours 
if (hourOfDay < 0 || hourOfDay > 23) {
return false;
} else if (hourOfDay < 8 || hourOfDay > 22) {
if (barking) {
return true;
} else {
return false;
}
}
return false;
}
}

您没有获得任何输出,因为您没有打印它。只是调用函数而不捕获结果。

System.out.println(shouldWakeUp(true, 25 ));

此外,您可以将方法逻辑简化为简单

public static boolean shouldWakeUp ( boolean isBarking, int hourOfDay){
return isBarking && ((hourOfDay < 8 && hourOfDay >= 0) || (hourOfDay > 22 && hourOfDay <= 23));
}

相关内容