0
public static void main(String args[])
    {
        int[] a = {0, 1, 2, 3};
        int[] b = {100, 101, 102, 103, 104, 105};
        System.out.print(shuffleArrays(a, b));
    }

    public static int[] shuffleArrays(int[] a, int[] b)
    {
        int[] c = new int[a.length+b.length];
        for (int i=0; i<b.length-1; i++)
        {
            if (i<a.length-1 && i<b.length-1)
                c[i] = c[i] + (a[i] + b[i]);
            else if (i>=a.length-1)
                c[i] = c[i] + b[i];
            else if (i>=b.length-1)
                c[i] = c[i] + a[i];
        }

        return c;
    }

これにより、「[I@1837b90c」という出力が得られます。なぜこれが起こっているのか分かりません。メソッドを間違って呼び出していますか?

4

2 に答える 2

3

によって返される配列への参照を出力していますshuffleArrays。これは、配列の内容を自動的に出力するのではなく、代わりに配列参照を出力します。次のようなことをしたいでしょう:

System.out.print(Arrays.toString(shuffleArrays(a, b)))
于 2013-10-09T23:07:15.560 に答える