数组打印函数 - java

时间:2015-03-27 21:02:31

标签: java

我正在尝试打印一些由数字除以​​的素数数组,这是我得到的代码输出:

  

[J @ 15db9742

如何打印函数所获得的数组。

public static long[] primes(int n) {
    int count = 0;
    long arr1[] = new long[n];
    for (int i = 2; i < n; i++) {
        boolean prime = true;
        if (n % i == 0)
            for (int j = 2; j < i && prime; j++) {
                if (i % j == 0) prime = false;
            }
        if (prime && n % i == 0) {
            arr1[count] = i;
            System.out.println(arr1[count]);
            count++;
        }
    }

    long arr[] = new long[count];
    for (int i = 0; i < arr.length; i++) {
        arr[i] = arr1[i];
    }
    return arr;
}

2 个答案:

答案 0 :(得分:4)

数组是 参考类型

您必须使用实用程序类Arrays来打印数组:

  

Arrays.toString(array)

多维数组

  

Arrays.deepToString(array)

<强>顺便说一句
小建议您可以使用某些优化 for loop

    for (int i = 0; i < arr.length; i++) {
        arr[i] = arr1[i];
    }

最好使用System.arraycopy()

  

System.arraycopy(arr1,0,arr,0,arr.length);

答案 1 :(得分:0)

for(long n: arr)
 System.out.println(n);