所以我有两种方法来创建一个随机数组和带有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());
}
答案 0 :(得分:0)
Math.random()
返回介于0和1之间的double
(不包括),因此将其转换为int将始终返回0.这就是您的数组仅包含0的原因。
另一方面,用于填充random.nextInt()
的{{1}}可以返回任何可能的ArrayList
值。