Java的概率为75%

时间:2014-11-16 03:32:43

标签: java probability

我如何在java中使用这种格式实现3/4或75%的概率?

Random rand = new Random();
boolean val = rand.nextInt(25)==0;

4 个答案:

答案 0 :(得分:6)

像这样,

Random rand = new Random();
boolean val = rand.nextInt(4) + 1;
if (val == 1) { // <-- 1/4 of the time.
} else { // <-- 3/4 of the time.
}

Random.nextInt(int)返回返回伪随机,在0(包括)和指定值(不包括)之间均匀分布的int值。因此,0-4(不包括)是(0-3),如果你再加1,结果就是范围(1-4)。

您也可以使用Random.nextDouble()之类的,

if (rand.nextDouble() < 0.75) { // <-- 75% of the time.
}

答案 1 :(得分:5)

对任何整数百分比都有好处的简单方法是:

boolean val = rand.nextInt(100) < 75;

答案 2 :(得分:1)

以下内容也是有效的,并且有些直观,因为许多人都将概率的概念定义为介于0和1之间的值。

Math.random() < 0.75

当然,这与

相同
Random rand = new Random();
rand.nextDouble() < 0.75

已在接受的答案中提及。

需要注意的重要一点是,后者比前者更有效率。皮特在甲骨文社区论坛上提供了一个explanation原因。

答案 3 :(得分:0)

试试这个:

rand.nextInt(4) < 3