【问题标题】:insert AssignmentOperator ArrayInitializer error插入 AssignmentOperator ArrayInitializer 错误
【发布时间】:2015-06-28 09:16:02
【问题描述】:

我正在学习 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 新手,所以我想学习这个。

提前致谢!

【问题讨论】:

    标签: java assignment-operator array-initialization


    【解决方案1】:

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

    改变

    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";
      }
    }
    

    【讨论】:

    • 是的,我知道 else (vacation = false) 是无效的,我只尝试过 else,在这种情况下输出不正确..
    • 感谢 (vacation == true) 工作,很惊讶它是如此简单!!
    猜你喜欢
    • 2011-10-14
    • 1970-01-01
    • 2012-07-11
    • 1970-01-01
    • 2012-09-20
    • 2018-10-09
    • 2014-09-18
    • 2019-02-24
    • 1970-01-01
    相关资源
    最近更新 更多