【发布时间】:2016-03-15 14:09:17
【问题描述】:
public class CodingBat {
public static void main(String[] args){
CodingBat object = new CodingBat();
System.out.print(object.parrotTrouble(true,20));
}
public boolean parrotTrouble(boolean talking, int hour) {
if(talking == false){
return false;
}
else if(hour > 7 || hour >20){
return true;
}
}
}
我很困惑,为什么在公共方法 parrotTrouble 下划线的地方出现错误,说它必须返回一个布尔值,而我目前有这个?
【问题讨论】:
-
有第三种可能性,编译器不知道是否总是满足其他条件之一,因此需要您提供第三种/失败安全条件
-
永远不会检查测试
hour > 20,因为当小时 > 20 时,hour > 7始终为真。