数组和arraylist中的随机整数

时间:2015-11-28 18:47:39

标签: java arrays arraylist

所以我有两种方法来创建一个随机数组和带有100个随机整数的arraylist。出于某种原因,只有arraylist工作。不确定有什么问题。有人可以看看吗?我真的不知道为什么它不起作用。是否有更好的方法来随机化数组?

public static int[] gen1()
  {
    int[] no = new int[100];
    for(int i=0;i<no.length;i++)
    {
        no[i] =(int)(Math.random());
    }
    return no;
}   

public static ArrayList<Integer> gen2()
{
    ArrayList<Integer> oh = new ArrayList<Integer>();
    Random random = new Random();
    for (int i = 0; i < 100; i++)
    {
        oh.add(random.nextInt());
    }
    return oh;
}

public static void main(String[] args)
{   
    System.out.println("Original Array:");
    System.out.println(gen1());
    System.out.println("Original List:");
    System.out.println(gen2());
}

1 个答案:

答案 0 :(得分:0)

Math.random()返回介于0和1之间的double(不包括),因此将其转换为int将始终返回0.这就是您的数组仅包含0的原因。

另一方面,用于填充random.nextInt()的{​​{1}}可以返回任何可能的ArrayList值。