Java 有人能看出我错在哪里吗?我的代码应该返回true,但它返回false,它不应该返回 公共级吠犬{ 公共静态void main(字符串[]args){ 应该醒来(正确,23); } 公共静态布尔shouldWakeUp(布尔吠叫,inthourofday){ 如果(吠叫==真){ 如果(houroday>=0&&hourodayhouroday 22
它总是false。因此,if分支永远不会执行。看看最后一个条件,它应该是Java 有人能看出我错在哪里吗?我的代码应该返回true,但它返回false,它不应该返回 公共级吠犬{ 公共静态void main(字符串[]args){ 应该醒来(正确,23); } 公共静态布尔shouldWakeUp(布尔吠叫,inthourofday){ 如果(吠叫==真){ 如果(houroday>=0&&hourodayhouroday 22,java,Java,它总是false。因此,if分支永远不会执行。看看最后一个条件,它应该是hourOfDay22。这两行表示逻辑or而不是and。现在23不能小于8,也不能大于22。你知道“&&”表示“两者都必须为真”吗?你的意思是if(hourOfDay22){……}?(此处| |表示或)。 public class BarkingDog { public static void main(String[] args) { shouldWakeUp(true , 23); } public static
hourOfDay22
。这两行表示逻辑or而不是and。现在23不能小于8,也不能大于22。你知道“&&”表示“两者都必须为真”吗?你的意思是if(hourOfDay22){……}
?(此处| |表示或)。
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;
}
hourOfDay<8 && hourOfDay>22