数组未按预期打印

时间:2017-08-11 20:34:02

标签: java arrays

我是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。然而我的输出现在给了我[9,9,9,9,9,9,9,9,9,9]而不是简单的3 5 7 9所以它看起来像多次保存最后一个值。

1 个答案:

答案 0 :(得分:2)

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

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