不返回布尔值?

时间:2018-08-26 07:12:55

标签: java

这里是新开发人员,我正在做一个练习挑战,根据狗是否吠叫以及一天中的几点钟,应该返回true或false。

public class BarkingDog {
public static boolean bark(boolean barking, int hourOfDay){
    if(barking=true) {
        if (hourOfDay < 8 || hourOfDay > 22) {
            return true;
        } else if (hourOfDay < 0 || hourOfDay > 23) {
            return false;
        } else {
            return false;
        }
    }
    else{
            return false;
        }
}
public static void main(String args[]){
    bark(true,1);
}
}

5 个答案:

答案 0 :(得分:1)

立即尝试。 错误的第一件事是IF语句。  因为您应该单独使用==而不=。 其次,您应该打印答案,以了解实际发生的情况。

public class BarkingDog {
public static boolean bark(boolean barking, int hourOfDay){
if(barking==true) {
    if (hourOfDay < 8 || hourOfDay > 22) {
        return true;
    } else if (hourOfDay < 0 || hourOfDay > 23) {
        return false;
    } else {
        return false;
    }
}
else{
        return false;
    }
}
public static void main(String args[]){
    System.out.println(bark(true,1));
}
}

答案 1 :(得分:0)

另一个小提示:您可以只写if(barking=true)来代替if(barking)

答案 2 :(得分:0)

public class BarkingDog {
public static boolean bark(boolean barking, int hourOfDay){
    if(barking==true) {
        if (hourOfDay < 8 || hourOfDay > 22) {
            return true;
        } else if (hourOfDay < 0 || hourOfDay > 23) {
            return false;
        } else {
            return false;
        }
    }
    else{
            return false;
        }
}
public static void main(String args[]){
    System.out.println(bark(true,1));
}
}

您正在使用'='检查条件,但它用于分配值。示例

int a = 1;

使用'=='检查条件。

答案 3 :(得分:0)

  

当我运行它时,我什么也得不到。

因为,如果一个方法具有返回类型(它正在返回一个值),请尝试将此值保持与变量中的返回类型相同的类型,如果不将方法调用分配给变量,它将是忽略。

boolean result = bark(true, 1);

System.out.println(result);

答案 4 :(得分:0)

您可以并且应该简化此代码。如果条件...写这样的代码是没有意义的:

public static boolean bark(boolean barking, int hourOfDay){
if(barking) {
    if (hourOfDay < 8 || hourOfDay > 22) {
        return true;
     else {
        return false;
    }
}
else{
        return false;
    }
}
public static void main(String args[]){
  //this is static values and you can get this values dynamic i.e from server
  boolean result = bark(true, 1);
  System.out.println(result);

}
}