【问题标题】:Strange Array output in javajava中的奇怪数组输出
【发布时间】:2014-03-09 13:51:13
【问题描述】:

我想知道为什么以及如何修复这个数组方法输出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));
    }
}

【问题讨论】:

    标签: java arrays output


    【解决方案1】:

    你可以使用Arrays#toString

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

    (详见its implementation


    关于你得到的输出的解释:

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

    【讨论】:

    • 别再偷我的答案了! :P +1
    • 还要注意嵌入式数组存在Arrays.deepToString()
    • @BogGogo 如果对您有帮助,请接受答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多