具有权重或偏差的随机布尔值

max*_*130 20 java random probability

我需要生成一些随机的布尔值.但是我需要能够指定返回的概率true.结果如下:

private Random random = new Random();
random.nextBoolean();
Run Code Online (Sandbox Code Playgroud)

不管用.

一种可能的解决方案是:

private Random random = new Random()

public boolean getRandomBoolean(float p){
return random.nextFloat() < p;
}
Run Code Online (Sandbox Code Playgroud)

我想知道是否有更好或更自然的方式来做到这一点.

编辑:我想我在问是否有一个提供nextBoolean(浮点概率)方法的库类.

Oli*_*rth 9

我想知道是否有更好或更自然的方式来做到这一点.

你正在使用的方法很好.* AFAIK,没有标准的Java方法可以使这个代码更短.


*用于非加密目的.

  • 这不是评论吗? (2认同)