这里是新开发人员,我正在做一个练习挑战,根据狗是否吠叫以及一天中的几点钟,应该返回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);
}
}
答案 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);
}
}