こんにちは、shinoです。毎日ボチボチプログラミングをしながら生活しています。その中での技術・エラーなどの紹介をしています。
今回は、Javaのエラーを紹介していきます。Javaを初めて使う方向けに書いてみます。私もこの記事を書いている時から始めています。ここから少しずつ学んで行こうかと思っているところでございます。
エラー内容
– final のローカル変数 Number には代入できません。ブランクでなければならず、複合代入を使用することはできません
どんなタイミングか
こんなコードを書いていました。以下のコードでエラーが出ます。
何が原因かわかりますか?やりたいこととしては、finalを使った定義をするところです。
1 2 3 4 5 6 7 |
public class test { public static void main(String[] args) { final int Number = 20; System.out.println(Number); Number = 50; } } |
対応策
原因は分かりましたか?
対応は簡単です。
結論から言うと、finalの使い方がおかしいです。
簡単に説明すると、finalを使うと再入ができなくなります。
なので、50を再度代入しようとしているのでエラーとなっています。
再度、代入したい場合
再度代入したいときは以下のようにします。
1 2 3 4 5 6 7 8 |
public class test { public static void main(String[] args) { int Number = 20; System.out.println(Number); Number = 50; } } |
finalを使う場合
他からの代入を防ぎたければ以下のようにします。
1 2 3 4 5 6 |
public class test { public static void main(String[] args) { final int Number = 20; System.out.println(Number); } } |
これでも問題なく出力されます。
最後に
お疲れ様です。エラーは解決できたでしょうか?
他にもエラー情報等も掲載してあるので読んでみて下さい。
解決できなければ、Java公式を確認してみるのもいいと思います。
ひと休憩の際におすすめ記事は「Exception in thread “main”のエラー解決法」です。時間があれば読んでみて下さい。
コメント