我使用Random类对象生成一组随机数,但生成的随机数集都是不同的,即它们都没有相同的值。 我已经多次运行程序,但每次生成的随机值都不同。即没有一个是相同的。
int i,j,ex,counter=0;
int size=7,count=1;
boolean track=false;
List<Integer> digits = new ArrayList<Integer>(size);
for(i=0;i<count;i++)
{
track=false;
Random rn = new Random(i);
for (j = 0; j < size; j++)
{
int k = rn.nextInt(364);
digits.add(k);
}
for (j = 0; j < digits.size(); j++)
{
System.out.println(digits.get(j));
}
for (int m=0;m<digits.size();m++)
{
for (int n=m+1;n<digits.size();n++)
{
if (digits.get(m) == digits.get(n))
{
counter++;
//System.out.println(counter);
track=true;
break;
}
}
if(track)
break;
}
}
System.out.println(100*(double)(counter/count));
}
}
但是在每次新的运行中,一些基于概率的随机数可能相同,但从不(除非大小> 364)我得到相同的随机数。
答案 0 :(得分:0)
jave中的Random()类在代码中生成从0到364之间的RANDOM编号。 这意味着,在你的代码中,经过365次生成数字之后,只有这样你才能100%确定有2个整数相互匹配,但它不太可能需要365次!
我希望您现在了解随机功能的工作原理吗?
这可能是你的函数的一个可能的输出&#34;数字&#34; 5号:
56 201 78 12 360