问题:当狗吠叫时,在上午8点或下午22点之前,返回true,否则返回false。
我的代码:
public class Barkingdog {
public boolean bark(boolean barking, int hourofDay) {
if (barking) {
if (hourofDay >= 0 && hourofDay <= 8) {
return true;
} else if (hourofDay >= 22 && hourofDay < 24) {
return true;
} else {
return false;
}
} else {
return false;
}
}
}
尝试测试我的代码:
package com.company;
public class Main {
public static boolean main(String[] args) {
// write your code here
System.out.println(public boolean bark (true, 4););
}
}
最佳答案
创建Barkingdog
的实例,并从中调用bark
方法:
public static void main(String[] args) {
Barkingdog dog = new Barkingdog();
System.out.println(dog.bark(true, 4));
}
另外,请使用正确的Java命名约定。类(class)应使用 Camel 套:
public class BarkingDog { ... }
您也可以简单地使用
bark
方法的逻辑:public boolean bark(boolean barking, int hourOfDay) {
boolean morning = hourOfDay >= 0 && hourOfDay <= 8;
boolean night = hourOfDay >= 22 && hourOfDay < 24;
return barking && morning || night;
}
而且
bark
似乎不是此行为的专有名称。boolean barking
表示狗是否实际上在吠叫,并且由于barking
可以是false
,因此调用dog.bark(false, 8)
可能会引起困惑:我们告诉狗执行bark
行为,但狗没有吠叫(由false
参数指定)。可能想为该行为选择一个更具描述性的名称,例如
isBarkingUnderirably
,在这里我们检查barking
是否在期望的时间出现。