【问题标题】:Copying and printing arrays? [duplicate]复制和打印数组? [复制]
【发布时间】:2014-04-11 23:54:23
【问题描述】:

每当我尝试打印我从数组 stonefist 复制到数组 vaporeon 的元素时,我都会得到

This new array: [I@175705e

这是我的问题还是我的 java 版本有问题?

public class ArrayTest
{
    public static void main(String[] args)
    {
        int[] stonefist = new int[6];
        int[] vaporeon = new int[stonefist.length];
        stonefist[0] = 34;
        stonefist[1] = 2;
        stonefist[2] = 14;
        stonefist[3] = 34;
        stonefist[4] = 58;
        stonefist[5] = 4;
        int jolteon = 0;
        int flareon = 0;
        int dragonite = Integer.MIN_VALUE;
        for(int i = 0; i < stonefist.length; i++)
            {
                System.out.println(stonefist[i]);
                if(stonefist[i] > dragonite)
                {
                   dragonite = stonefist[i];                
                }                  
                 jolteon = jolteon + stonefist[i];
                 flareon = jolteon/stonefist.length;
                 System.arraycopy(stonefist,1,vaporeon,0,3);
            }
        System.out.println("The largest number is: " + dragonite);   
        System.out.println("The average is: " + flareon);
        System.out.print("This new array: " + vaporeon);
    }   
}

【问题讨论】:

    标签: java arrays


    【解决方案1】:

    这只是Object.toString()-method 的默认结果,与您的Java 版本无关。

    你需要的是一个遍历数组并打印每个元素的方法,例如Arrays.toString(...)

    然后你就可以使用它了:

    System.out.print("This new array: " + Arrays.toString(vaporeon));
    

    【讨论】:

      【解决方案2】:

      它实际上是打印出数组的内存地址。您需要创建一个循环,或包含一个循环的方法,该循环将逐步遍历数组,并逐个打印所有值。

      【讨论】:

        猜你喜欢
        • 2015-03-28
        • 2022-01-10
        • 1970-01-01
        • 2012-08-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-12-06
        • 2012-09-20
        相关资源
        最近更新 更多