java中的奇怪数组输出

时间:2014-03-09 13:51:14

标签: java arrays output

我想知道为什么以及如何修复此数组方法输出temp的内存表示。

public class StringMethodsExersice{
    public static int[] shiftMax(int[] num){
        int temp[] = new int[num.length];
        int firstEl = num[0];
        int lastEl = num[num.length-1];


        for(int i=1;i<num.length-1;i++){
            if(num[i] > num[i+1]){
                temp[i] = num[i];
            }
            temp[i] = num[i];
        }
        temp[0] = firstEl;
        temp[num.length-1]= lastEl;
        return temp;
    }

    public static void main (String []args){
        int[] myArray = new int [5];
        myArray [0] = 2;
        myArray [1] = 5;
        myArray [2] = 6;
        myArray [3] = 14;
        myArray [4] = 25;
        System.out.println(shiftMax(myArray));
    }
}

1 个答案:

答案 0 :(得分:4)

您可以使用Arrays#toString

System.out.println(Arrays.toString(shiftMax(myArray)));

(详见its implementation


关于您获得的输出的说明:

由于每个对象都有toString()方法,因此默认显示类名表示,然后添加@符号,然后添加哈希码。