我想在 java 中制作一个随机数生成器,它生成一个 1-20 的随机数,但我希望它更有可能生成 1 比 20,就像较低的数字比较高的数字更有可能生成,有没有怎么做?
当然。这是一个简单的方法:
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 的时间。通过添加和删除元素来调整比例。