2 回答
TA贡献1777条经验 获得超10个赞
使用此代码
public static boolean shouldWakeUp(boolean barking, int hourOfTheDay) {
if (barking) {
if (hourOfTheDay==8 || hourOfTheDay==7 || hourOfTheDay==6 || hourOfTheDay==5 || hourOfTheDay==4 || hourOfTheDay==3 || hourOfTheDay==2 || hourOfTheDay==1 || hourOfTheDay==23 || hourOfTheDay==00) {
return true;
} else {
return false;
}
if (hourOfTheDay < 0 || hourOfTheDay > 23)
return false;
}
}
为了进行比较,您必须使用而不是===
TA贡献1993条经验 获得超5个赞
语句中的条件应给出布尔结果。Java 使用布尔结果(返回值)来操作条件。
在代码中,您使用的是“=”赋值运算符,它不给出预期的返回值。
使用“==”可以解决代码中的问题,如Ajmal在其中一个答案中所建议的那样。
但是,在编辑后,您的代码将在修复后具有无法访问的语句,在这种情况下,请尝试以下操作:
if (barking
&& (hourOfTheDay == 8 || hourOfTheDay == 7 || hourOfTheDay == 6
|| hourOfTheDay == 5 || hourOfTheDay == 4
|| hourOfTheDay == 3 || hourOfTheDay == 2
|| hourOfTheDay == 1 || hourOfTheDay == 23 || hourOfTheDay == 00)) {
return true;
} else if (hourOfTheDay < 0 || hourOfTheDay > 23)
return false;
else {
return false;
}
添加回答
举报