数组显示奇怪的信息[I @ 63376afa

时间:2013-07-07 01:14:46

标签: java arrays loops for-loop random

我正在尝试为彩票申请随机选择6个号码。然后将数字添加到数组中。当我尝试显示数组中包含的信息时,它返回[I @ 63376afa。如果我在数组外部显示randomInt,它会正确显示,但不会添加到数组中。如果我在处理for循环后尝试将randomInt添加到数组中,则会出现错误类型不匹配无法将int转换为int [],这是有道理的。

import java.util.Random;
public class PracRandom1 
{
    public static void main(String[] args) 
    {
        int randomInt=0;
        int[] numArray = new int[randomInt];
        int[] array = new int[5];
        Random randomNum = new Random();{
            for (int i = 0; i <= array.length; ++i){
            randomInt = 1+randomNum.nextInt(6); 
                        System.out.println("Array Random numbers: " + numArray);
            }
}}}

2 个答案:

答案 0 :(得分:1)

结帐java.util.Arrays.toString()

数组没有开箱即用的非常有用的toString()实现。

答案 1 :(得分:0)

要获得人类可读的toString(),您必须使用Arrays.toString(),如下所示:

System.out.println(Arrays.toString(array));

Java的toString()用于数组是打印[,后跟一个表示数组元素类型的字符(在您的情况下Iint),其次是通过@然后是数组的“身份哈希码”(想想它就像你的“内存地址”)。

这种悲惨的状况通常被认为是java的“错误”。

有关其他“错误”的简要列表,请参阅this answer