2016-11-01 16 views
-1
​​

識別子が必要であるとの構文エラーが発生したため、閉じる()コメントがありました。だから私はどこにそれを置くか分からない。リソースリークが発生しました。 'in'は決して閉じられません。警告

+1

言語タグを含めます。 – LarsTech

+4

'in.close()'を 'readInputs'メソッドに移動してみてください。' in'が定義されています。 'return'ステートメントの直前に置いてください。 –

+0

この特定の場合( 'System.in'が着信ストリームとして使用されるとき)、あなたは本当にそれを必要としません。 –

答えて

2

は 'には' だから、それを閉じ

警告閉じられることはありません。

public static double[] readInputs(int numberOfInputs) { 
     System.out.println("Enter " + numberOfInputs + "numbers: "); 
     Scanner in = new Scanner(System.in); 
     double[] inputs = new double[numberOfInputs]; 
     for (int i = 0; i < inputs.length; i++) { 
      inputs[i] = in.nextDouble(); 
     } 
     //be aware: you are globally closing System.in 
     in.close(); 
     return inputs; 
    } 
+1

これはアプリケーションで 'System.in'からもう一度読むつもりがない限り、これは' System.in'を閉じることに注意してください。 – CollinD

+0

右...答えを更新します – FMiscia

関連する問題