首先,我对这个主题进行了搜索,但是我找不到任何类似于我想要完成的内容,所以这可能是一个重复的问题。
我希望有一个函数返回一个数字(1或2),第一个概率为0.8%,第二个概率为0.2%。
我该怎么做?
答案 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之间的数字。然后使用该数字从数组中获取结果。
这只是一个例子,您可以在数组中使用其他值。