Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 运算符| |不能包含在int中?_Java - Fatal编程技术网

Java 运算符| |不能包含在int中?

Java 运算符| |不能包含在int中?,java,Java,我无法理解错误,它说:运算符| |不能包含在int中。使用此代码 public class shouldWakeUp { public static boolean shouldWakeUp(boolean barking, int hourOfTheDay) { if (barking) { if (hourOfTheDay=8 || hourOfTheDay=7 || hourOfTheDay=6 || hourOfTheDay=5 ||

我无法理解错误,它说:运算符| |不能包含在int中。

使用此代码

public class shouldWakeUp {

    public static boolean shouldWakeUp(boolean barking, int hourOfTheDay) {

        if (barking) {
            if (hourOfTheDay=8 || hourOfTheDay=7 || hourOfTheDay=6 || hourOfTheDay=5 || hourOfTheDay=4 || hourOfTheDay=3 || hourOfTheDay=2 || hourOfTheDay=1 || hourOfTheDay=23 || hourOfTheDay=00) {
                return true;
            } else {
                return false;
            }
            if (hourOfTheDay < 0 || hourOfTheDay > 23)
                return false;
        }
    }
}
要进行比较,必须使用==而不是=

使用此代码

public class shouldWakeUp {

    public static boolean shouldWakeUp(boolean barking, int hourOfTheDay) {

        if (barking) {
            if (hourOfTheDay=8 || hourOfTheDay=7 || hourOfTheDay=6 || hourOfTheDay=5 || hourOfTheDay=4 || hourOfTheDay=3 || hourOfTheDay=2 || hourOfTheDay=1 || hourOfTheDay=23 || hourOfTheDay=00) {
                return true;
            } else {
                return false;
            }
            if (hourOfTheDay < 0 || hourOfTheDay > 23)
                return false;
        }
    }
}

为了进行比较,您必须使用==而不是=

语句中的条件应给出布尔结果。Java使用布尔resultreturn值来操作条件

在代码中,您使用的是=赋值运算符,它没有给出预期的返回值

使用==解决了Ajmal在其中一个答案中建议的代码中的问题

但是,在编辑之后,您的代码将在修复之后出现无法访问的语句,在这种情况下,请尝试以下操作:

public static boolean shouldWakeUp(boolean barking, int hourOfTheDay) {
    if (barking) {
        if (hourOfTheDay==8 || hourOfTheDay==7 || hourOfTheDay==6 || hourOfTheDay==5 || hourOfTheDay==4 || hourOfTheDay==3 || hourOfTheDay==2 || hourOfTheDay==1 || hourOfTheDay==23 || hourOfTheDay==00) {
            return true;
        } else {
            return false;
        }
        if (hourOfTheDay < 0 || hourOfTheDay > 23)
            return false;
    }
}

语句中的条件应给出布尔结果。Java使用布尔resultreturn值来操作条件

在代码中,您使用的是=赋值运算符,它没有给出预期的返回值

使用==解决了Ajmal在其中一个答案中建议的代码中的问题

但是,在编辑之后,您的代码将在修复之后出现无法访问的语句,在这种情况下,请尝试以下操作:

public static boolean shouldWakeUp(boolean barking, int hourOfTheDay) {
    if (barking) {
        if (hourOfTheDay==8 || hourOfTheDay==7 || hourOfTheDay==6 || hourOfTheDay==5 || hourOfTheDay==4 || hourOfTheDay==3 || hourOfTheDay==2 || hourOfTheDay==1 || hourOfTheDay==23 || hourOfTheDay==00) {
            return true;
        } else {
            return false;
        }
        if (hourOfTheDay < 0 || hourOfTheDay > 23)
            return false;
    }
}

嗨,Yash Sharma。这里的错误是使用赋值运算符=而不是比较运算符==。当比较int值时,应该使用==not=方法逻辑可以简化为返回barking&&hourOfTheDay<9 | | hourOfTheDay==23;嗨,Yash Sharma。这里的错误是使用赋值运算符=而不是比较运算符==。当比较int值时,应该使用==not=方法逻辑可以简化为返回barking&&hourOfTheDay<9 | | hourOfTheDay==23;