如何改变随机数的概率

时间:2016-03-10 18:38:11

标签: java random

首先,我对这个主题进行了搜索,但是我找不到任何类似于我想要完成的内容,所以这可能是一个重复的问题。

我希望有一个函数返回一个数字(1或2),第一个概率为0.8%,第二个概率为0.2%。

我该怎么做?

3 个答案:

答案 0 :(得分:2)

生成介于0和1之间的随机数。如果数字介于0和0.8之间,则返回1.否则返回2:

return rnd.nextFloat() < 0.8 ? 1 : 2;

答案 1 :(得分:0)

你只需要间隔,如果你的随机数适合间隔,你就会受到打击。在这个最简单的例子中,你创建1-4和5的间隔。所以你从1到5获取随机数。如果它是1-4(概率为80%)你就像它的1那样,并且如果它是5(概率为20%)你就像它的2那样。

答案 2 :(得分:0)

例如,创建一个包含100个数字的数组。带有第二个的20个数字和带有第一个的80个数字。

使用Random类生成0到100之间的数字。然后使用该数字从数组中获取结果。

这只是一个例子,您可以在数组中使用其他值。