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

问题描述

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

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

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

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

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

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

输入/输出示例:


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;
    }
}

标签: java

解决方案


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

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

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

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

推荐阅读