有没有办法在java中制作一个随机数生成器,它比另一个更有可能落在一个数字上?

GG *_*ioi 1 java random

我想在 java 中制作一个随机数生成器,它生成一个 1-20 的随机数,但我希望它更有可能生成 1 比 20,就像较低的数字比较高的数字更有可能生成,有没有怎么做?

Gab*_*han 9

当然。这是一个简单的方法:

int data[] = {1,1,2,3,4,5,6,7,8,9,10};
return data[ThreadLocalRandom.current().nextInt(data.length)];
Run Code Online (Sandbox Code Playgroud)

这将分别返回 1 2/11 和 2-10 1/11 的时间。通过添加和删除元素来调整比例。