こんにちは、shinoです。毎日ボチボチプログラミングをしながら生活しています。その中での技術・エラーなどの紹介をしています。
今回は、Javaのエラーを紹介していきます。Javaを初めて使う方向けに書いてみます。私もこの記事を書いている時から始めています。ここから少しずつ学んで行こうかと思っているところでございます。
エラー内容
リソース・リーク: ‘
今回のものは、エラーではなく警告になります。
どんなタイミングか
こんなコードを書いていました。以下のコードで警告が出ます。
警告が出ているのは、system.out.printlnのところです。内容としては、好きな文字を入力してもらいそれを出力するコードです。
1 2 3 4 5 6 |
public class practices { public static void main (String[] args) { String nextLine = new java.util.Scanner(System.in).nextLine(); System.out.println(nextLine); } } |
String nextLine = new java.util.Scanner(System.in).nextLine();のところで警告が出ています。
対処法を書いていきます。
対応策
警告としては、scannerが実行後に閉じられていないという警告みたいです。なので実行後に閉じるコードを書いてみます。
1 2 3 4 5 6 7 8 9 |
public class practices { public static void main (String[] args) { System.out.println("num"); java.util.Scanner scanner = new java.util.Scanner(System.in); String nextLine = scanner.nextLine(); scanner.close(); System.out.println(nextLine); } } |
具体的には、処理を分けたのとscanner.close();を追加することで警告が出なくなりました。
その他の解決方法
他の方法でも解決ができるみたいだったのでやってみました。詳しくは説明できないのですが、コードは実際に動くので参考にしてみて下さい。
1 2 3 4 5 6 7 8 9 |
public class practices { public static void main (String[] args) { System.out.println("num"); try (java.util.Scanner scanner = new java.util.Scanner(System.in)) { String nextLine = scanner.nextLine(); System.out.println(nextLine); } } } |
最後に
お疲れ様です。エラーは解決できたでしょうか?
他にもエラー情報等も掲載してあるので読んでみて下さい。
解決できなければ、Java公式を確認してみるのもいいと思います。基礎に戻ってみるのも一つの手です。
ひと休憩の際におすすめ記事は「【Nuxt.js】ローカル環境にてcorsの設定方法」です。時間があれば読んでみて下さい。
コメント