2017-04-25 12 views
-2

誰も私にそれと決闘する方法を教えてもらえますか?Javaスキャナに関するEclipseの警告

私はEclipseでコーディングしていたときに2つのアラートが表示され、どのようにリッピングするかわかりません。

scannerについてです。

コードと場所、アラートの内容:

import java.util.Scanner; 

    public class test2 { 

     private static Scanner number; //alert:The value of the field test2.number is not used 

     public static void main(String[] args) { 

      boolean run = true; 

      while(run){ 

       int target = (int) Math.round(Math.random()*100), guest; 

       Scanner number = new Scanner(System.in); //alert:Resource leak: 'number' is never closed 

       System.out.println("Guest a number:"); 
       guest = number.nextInt(); 

       String result = (guest == target) ? "You make it!!!": "Try again"; 
       System.out.println(result); 
       System.out.println("The Target is " + target); 

      } 

     } 

    } 

P.S.実際、このプログラムは問題なく動作しています。

+0

あなたは 'number'フィールドを使用されることはありません、あなたは')( 'number.closeを呼び出すことはありません。あなたがEclipseから警告を受け取っている理由です。 – Logan

答えて

0

リソースを試してリソースを管理することができます。

int target = (int) Math.round(Math.random()*100), guest; 

try(Scanner number = new Scanner(System.in)) { 

    System.out.println("Guest a number:"); 
    guest = number.nextInt(); 

    String result = (guest == target) ? "You make it!!!": "Try again"; 
    System.out.println(result); 
    System.out.println("The Target is " + target); 
} catch (InputMismatchException e) { 
    e.printStackTrace(); 
} 

また、グローバル未使用の変数を削除number

関連する問題