java - 如何使用此分布在 Java 中生成随机 boolean 值?

标签 java random boolean

我需要生成一些随机的 boolean 值。

但是,我需要确保在 100 次调用中恰好有 10 次 true。此外,我需要 true 值几乎均匀分布(例如,第二个 true 将出现在 9 个 false 之后,第三个将在 7 个 false 等之后出现)。我尝试使用 java.util.RandomnextBoolean() 方法来实现它,但似乎 true 值在开始时变得过于拥挤.谁能帮忙?

最佳答案

这是一些实现 stratified sampling 的代码技术:

boolean[] get10in100() {
    boolean[] result = new boolean[100];
    Random rand = new Random();
    for (int i = 0; i < 10; ++i) {
        result[10 * i + rand.nextInt(10)] = true;
    }
    return result;
}

关于java - 如何使用此分布在 Java 中生成随机 boolean 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15318929/

相关文章:

java - 从文件输入流,到文件输出流

c# - int.MinValue 和 int.MaxValue 之间的随机数,包括

java - 静态嵌套类何时被垃圾回收?

java - java中的JS样式警告框

performance - 如何在matlab中高效生成随机符号/{-1,1}?

为游戏对象生成随机位置的算法

PHP:if (!$val) VS if (empty($val))。有什么不同吗?

angular - @angular/common/http/testing TestRequest.flush 一个 boolean 值

python - 根据条件删除组中的最后一行

java - 如何制作在命令提示符下运行的 .jar 文件