![](/img/trans.png)
[英]Why is my method returning false when it should return true for my understanding?
[英]Can anyone see where i am wrong , My code should return true but its returning false which it should not be returning
public class BarkingDog {
public static void main(String[] args) {
shouldWakeUp(true , 23);
}
public static boolean shouldWakeUp(boolean barking, int hourOfDay) {
if(barking==true) {
if(hourOfDay>=0 && hourOfDay<=23){
if(hourOfDay<8 && hourOfDay>22){
System.out.println("WakeUp");
return true;
}
}
}
System.out.println("No need to WakeUp");
return false;
}
此代碼應返回 true 並應打印“Wakeup”,但返回 false 並打印“無需睡眠”。 我想知道這里的邏輯錯誤在哪里。
hourOfDay<8 && hourOfDay>22
它總是錯誤的。 所以,if 分支永遠不會被執行。
看看最后一個條件,應該是hourOfDay<8 || hourOfDay>22
hourOfDay<8 || hourOfDay>22
。 這兩行表示邏輯或而不是和。 現在 23 不能小於 8 也不能大於 22。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.