为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

长风秋雁 2022-09-01 19:44:05
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;        }    }}我无法理解错误,它说:。operator || cannot be included  in int
查看完整描述

2 回答

?
不负相思意

TA贡献1777条经验 获得超10个赞

使用此代码


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;

    }

}

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


查看完整回答
反对 回复 2022-09-01
?
ibeautiful

TA贡献1993条经验 获得超5个赞

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


在代码中,您使用的是“=”赋值运算符,它不给出预期的返回值。


使用“==”可以解决代码中的问题,如Ajmal在其中一个答案中所建议的那样。


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


if (barking

            && (hourOfTheDay == 8 || hourOfTheDay == 7 || hourOfTheDay == 6

                    || hourOfTheDay == 5 || hourOfTheDay == 4

                    || hourOfTheDay == 3 || hourOfTheDay == 2

                    || hourOfTheDay == 1 || hourOfTheDay == 23 || hourOfTheDay == 00)) {

        return true;

    } else if (hourOfTheDay < 0 || hourOfTheDay > 23)

        return false;

    else {

        return false;

    }


查看完整回答
反对 回复 2022-09-01
  • 2 回答
  • 0 关注
  • 93 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信