爪哇中的概率
2022-09-01 01:14:40
我很好奇,如何在Java中实现概率?例如,如果变量显示的几率为1/25,那么我将如何实现它?还是任何其他概率?请给我指出大致的方向。
我很好奇,如何在Java中实现概率?例如,如果变量显示的几率为1/25,那么我将如何实现它?还是任何其他概率?请给我指出大致的方向。
你可以使用 Random 生成一个随机数,然后针对文本对其进行测试,以匹配你尝试实现的概率。
所以给定:
boolean val = new Random().nextInt(25)==0;
val
将有 1/25 的概率为真(因为具有返回从 0 开始到 25 但不包括 25 的任何数字的偶数概率。nextInt()
你当然也必须这样做。import java.util.Random;
如下所述,如果您获得多个随机数,那么重用 Random 对象比一直重新创建它会更有效:
Random rand = new Random();
boolean val = rand.nextInt(25)==0;
..
boolean val2 = rand.nextInt(25)==0;
通常使用随机数生成器。其中大多数在区间 [0,1] 中返回一个数字,因此您将检查该数字是否为 <= 0.04。
if( new Random().nextDouble() <= 0.04 ) { //you might want to cache the Random instance
//we hit the 1/25 ( 4% ) case.
}
或
if( Math.random() <= 0.04 ) {
//we hit the 1/25 ( 4% ) case.
}
请注意,有多个具有不同属性的随机数生成器,但对于简单应用程序,该类应该足够了。Random