0

我正在尝试为彩票申请随机选择 6 个号码。然后将数字添加到数组中。当我尝试显示数组中包含的信息时,它返回 [I@63376afa. 如果我在数组之外显示 randomInt ,它会正确显示,但不会添加到数组中。如果我在处理 for 循环后尝试将 randomInt 添加到数组中,则会收到错误 Type mismatch can't convert int to 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);
            }
}}}
4

2 回答 2

1

退房java.util.Arrays.toString()

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

于 2013-07-07T01:21:40.823 回答
0

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

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

Java 的toString()数组是 print [,后跟一个表示数组元素类型的字符(在您的情况下Iint),然后@是数组的“身份哈希码”(把它想象成一个“内存地址” )。

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

有关其他“错误”的简要列表,请参阅此答案

于 2013-07-07T01:58:11.483 回答