求教:String str[] = new String[]{"20%","10%","30%","15%","25%"};这是一个概率数组,每个概率下对应一个值,我如何通过随机数来寻找我这个随机数是属于哪个概率里面的。
这需要实验足够多次,看符合哪个概率。
好比通过买的彩票推测中奖率,需要大量买才知道,买一张是不知道的。
每个概率下对应一个值,可以考虑将随机数与该值进行比较,采用switch..case...default,等于哪个概率下的值就属于哪个概率的。
这个纯属个人见解,希望能帮到你。
Java的随机数取值有Math.radom()和nextInt()两种方法,但实际上这两种方法取的是**伪随机数**,这两个方法返回的随机数是有底层的算法计算后得出的,所以在指定范围后所返回的随机数概率**基本都是持平的**,我用代码测试过以后发现算法基本不会出现这么大的概率波动。
可以这么来定,取一个0-1之间的随机数n,概率匹配如下:
0<= n < 0.2 : 取20%;
0.2<= n < 0.3 : 取10%;
0.3<= n < 0.6 : 取30%;
0.6<= n < 0.75 : 取15%;
0.75<= n < 1 : 取25%;
希望能帮到你