こんにちは、shinoです。毎日ボチボチプログラミングをしながら生活しています。その中での技術・エラーなどの紹介をしています。
今回は、Javaのエラーを紹介していきます。Javaを初めて使う方向けに書いてみます。私もこの記事を書いている時から始めています。ここから少しずつ学んで行こうかと思っているところでございます。
エラー内容
– case文にて複数項目が出力されてしまう
どんなタイミングか
こんなコードを書いていました。以下のコードでエラーが出ます。
何が原因かわかりますか?やりたいこととしては、case文にて対応するものを出力しようとしています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
public class test { public static void main(String[] args) { int value = 3; switch(value) { case 2: System.out.println("2です。"); case 3: System.out.println("3です。"); case 4: System.out.println("4です。"); default: System.out.println("5以上です。"); } } } |
1 2 3 4 |
出力結果 3です。 4です。 5以上です。 |
対応策
原因は分かりましたか?
対応は簡単です。
結論から言うと、case文にはbreakが必要です。
breakがないため、対象のcase以降のものが全て出力されています。
なので、修正としてはbreakを各caseにつけましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
public class test { public static void main(String[] args) { int value = 3; switch(value) { case 2: System.out.println("2です。"); break; case 3: System.out.println("3です。"); break; case 4: System.out.println("4です。"); break; default: System.out.println("5以上です。"); } } } |
これでエラーはなくなります。
最後に
お疲れ様です。エラーは解決できたでしょうか?
他にもエラー情報等も掲載してあるので読んでみて下さい。
解決できなければ、Java公式を確認してみるのもいいと思います。
ひと休憩の際におすすめ記事は「Exception in thread “main”のエラー解決法」です。時間があれば読んでみて下さい。
コメント