如何修复 Java 中的错误操作数错误?

我在此行的代码中不断收到此错误:错误:二进制运算符'<='的错误操作数类型

代码: if (FIRST_YEAR <= year <= LAST_YEAR || 1 <= month <= 12 || 1 <= day <= 31)


沧海一幻觉
浏览 173回答 3
3回答

UYOU

由于比较运算符的结合性FIRST_YEAR <= year <= LAST_YEAR是相同的(FIRST_YEAR <= year) <= LAST_YEAR即你正在尝试比较FIRST_YEAR到year,然后那结果进行比较LAST_YEAR。第一次比较的结果是一个布尔值:它是否小于或等于,或者不是。因此,然后将布尔值与某种数字进行比较。语言规范明确要求两个操作数都可以转换为数字类型;由于 boolean 不是那么可转换,这是一个编译器错误。您必须进行两次单独的比较,并将它们组合在一起:(FIRST_YEAR <= year) // a boolean&nbsp; &&&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// an operator taking 2 boolean operands(year <= LAST_YEAR)&nbsp; // a boolean

吃鸡游戏

你需要使用&&喜欢if ((FIRST_YEAR <= year && year<= LAST_YEAR) || .......)

富国沪深

我建议打破你的逻辑示例Boolean check = false;//step 1 logic: year check for first and last yearif(FIRST_YEAR=< Year && Year <=LAST_Year)check = TRUE;// if step 1 is true now step 2: month is between 1 and 2:if(month =>1 and month <=12)check = check && TRUE;通过这种方式,您可以轻松调试并且更易于管理的代码。此外,您肯定需要在此处显示错误,例如您希望接受或拒绝用户或系统给出的日期,您肯定会希望显示问题,例如输入的月份不正确或年份不可接受等...
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java