This question already has answers here:
Java: do something x percent of the time
(8个答案)
5年前关闭。
我正在尝试编写一些代码,并且想使用Java已经必须将true设置为true或false的Random类,但是结果会受到一定百分比的机会的影响。
例如,我想创建一个方法,该方法在某人生病或未生病时随机生成。如果服用维生素,则有20%的患病机会。如果不服用维生素,则有25%的疾病。
我做了一些研究,发现API中的Random类确实包含一个随机布尔方法,但是我应该使用它吗?如果是这样,我将如何实现机会百分比?
我知道我将需要一个测试类来创建一个person对象,并且我知道该怎么做,但这就是我所拥有的。不知道从这里去哪里。
(8个答案)
5年前关闭。
我正在尝试编写一些代码,并且想使用Java已经必须将true设置为true或false的Random类,但是结果会受到一定百分比的机会的影响。
例如,我想创建一个方法,该方法在某人生病或未生病时随机生成。如果服用维生素,则有20%的患病机会。如果不服用维生素,则有25%的疾病。
我做了一些研究,发现API中的Random类确实包含一个随机布尔方法,但是我应该使用它吗?如果是这样,我将如何实现机会百分比?
我知道我将需要一个测试类来创建一个person对象,并且我知道该怎么做,但这就是我所拥有的。不知道从这里去哪里。
import java.util.Random;
public class SicknessTest {
private boolean sickness;
private boolean vitamin;
public void takeVitamin()
{
vitamin = true;
}
public void getSick()
{
}
}
最佳答案
生成一个double并检查它是否大于要比较的值。 nextDouble()
返回0到1.0之间的值
Random rnd = new Random();
public void getSick()
{
if (vitamin)
sickness = rnd.nextDouble() <= 0.2;
else
sickness = rnd.nextDouble() <= 0.25;
}
关于java - 具有机会百分比的随机 boolean 生成器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26109676/
10-10 14:38