Java Silver 12.16 switch文に関する問題

設問のコード6行目では、java.time.LocalDateクラスnowメソッドで現在日時を持ったLocalDateのインスタンスを生成し、そのインスタンスのwithメソッドで次の火曜日に変更し、最後にgetDayOfWeekメソッドで曜日を表すEnumを取得して変数todayに代入しています。
この変数todayはvarを使って型推論されていますが、LocalDateクラスのgetDayOfWeekメソッドがDayOfWeek列挙型を戻すため、DayOfWeek列挙型の変数として扱われます。


その後に続くswitch文では、変数todayの値がSUNDAYのとき、SATURDAYのとき、MONDAYとFRIDAYのとき、そしていずれにも当てはまらなかったときのcase式が用意されています。

変数todayには、火曜日を表す列挙型DayOfWeekのTUESDAYが入っているため、いずれのcase式にも当てはまらなかった際のdefaultが実行され、コンソールには「other」と表示されます。以上のことから、選択肢Dが正解です。

【2.6, 3.19, 9.6】

この記事が気に入ったらサポートをしてみませんか?