我正在尝试生成一个随机数字的arraylist并显示它.我不确定我哪里出错了.我认为我的showArray方法不能正常工作,因为它显示两个随机数,然后重复第二个n-2次.
private static ArrayList<Integer> RandomArray(int n)
{
ArrayList<Integer> arrayRandom = new ArrayList<Integer>(n);
for (int i=0; i<n; i++)
{
Random rand = new Random();
rand.setSeed(System.currentTimeMillis());
Integer r = rand.nextInt() % 256;
arrayRandom.add(r);
}
return arrayRandom;
}
private static void ShowArray(ArrayList<Integer> randomArray)
{
int n = randomArray.size();
ArrayList<Integer> showArray = new ArrayList<Integer>(n);
for (int i = 0; i<n; i++)
{
int r = randomArray.get(i);
showArray.add(r);
}
System.out.println(showArray);
}
public static void main(String args[])
{
ShowArray(RandomArray(5));
}
Run Code Online (Sandbox Code Playgroud)
因此,例如,这将产生一个输出
[132,152,152,152,152]
任何帮助深表感谢.提前致谢
将随机对象从循环中取出,不要每次都设置种子.
ArrayList<Integer> arrayRandom = new ArrayList<Integer>(n);
Random rand = new Random();
rand.setSeed(System.currentTimeMillis());
for (int i=0; i<n; i++)
{
Integer r = rand.nextInt() % 256;
arrayRandom.add(r);
}
Run Code Online (Sandbox Code Playgroud)
这应该更好.
| 归档时间: |
|
| 查看次数: |
19781 次 |
| 最近记录: |