4

我正在学习java,但遇到了这个问题,我正在编写一个简单的代码,但是这个错误又出现了,有人能帮我解决我做错了什么吗?

public String alarmClock(int day, boolean vacation) {
if (day >= 1 && day <= 5) {
  if (vacation = true) {
      return "10:00";
  }
  else (vacation = false) {return "7:00";}
 }
else {
  if (vacation = true) {
      return "off";
  }
  else (vacation = false) {return "10:00";}
 }
}

它给出的错误是-

Error:  else (vacation = false) {return "7:00";}
                      ^
Syntax error, insert "AssignmentOperator ArrayInitializer" to complete ArrayInitializerAssignement

我想要的输出是这个 -

alarmClock(1, false) → "7:00"
alarmClock(5, false) → "7:00"
alarmClock(0, false) → "10:00"

我知道这可能很简单,但我只是 java 新手,所以我想学习这个。

提前致谢 !

4

1 回答 1

3

在条件中使用 ==(比较),而不是 =(赋值):

改变

if (vacation = true)

if (vacation == true)

甚至更好

    if (vacation)

除此之外,它else (vacation = false)是无效的语法,无论如何您都不需要它。就写吧else

if (day >= 1 && day <= 5) {
  if (vacation) {
      return "10:00";
  } else {
      return "7:00";
  }
} else {
  if (vacation) {
      return "off";
  } else {
      return "10:00";
  }
}
于 2015-04-21T09:38:39.143 回答