2017-08-11 11 views
0

私はJavaの初心者で、さまざまな問題を練習しています。 タスクには最小値と最大値が与えられ、範囲内の奇数の配列が出力されます。たとえば、最小値が1で最大値が10の場合、3 5 7 9が出力されます。配列が期待通りに印刷されない

public class Practice { 

static int[] oddNumbers(int minimum, int maximum) { 

int[] arr = new int[10]; 

    for(int i = minimum; i <= maximum; i++) 
    { 
     if(i % 2 != 0) 
     { 
      //System.out.println("Odd " + i); 
      for(int j = 0; j < arr.length; j++) 
      { 
       arr[j] = i; 
      } 
     } 
    } 
    return arr; 
} 

public static void main(String[] args) { 

    int min = 3; 
    int max = 9; 

    System.out.println(Arrays.toString(oddNumbers(min, max))); 
} 
} 

現在の出力は "[I @ 15db9742"です。それは配列への参照ですか? ArrayListを使用する方が良いでしょうか?ありがとう!

更新:Arrays.toStringを出力に追加しました。しかし、私の出力は、単に3 5 7 9の代わりに私に[9,9,9,9,9,9,9,9,9,9,9,9]を与えているので、最後の値を複数回保存するように見えます。

答えて

2

使用Arrays.toString(..)方法:

System.out.println(Arrays.toString(oddNumbers(min, max))); 
関連する問題