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 に答える