簡體   English   中英

任何人都可以看到我錯在哪里,我的代碼應該返回 true 但它返回 false 它不應該返回

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM