我正在尝试编写代码,我想使用Java已经拥有的Random类来设置等于true或false的东西,但结果会受到一定百分比的影响。
例如,我想创建一个随机生成的方法,如果有人生病了。如果服用维生素,则有20%的患病几率。如果不服用维生素,则有25%的病情。
我做了一些研究,我发现API中的Random类确实有一个随机的布尔方法,但是我应该使用它吗?如果是这样,我将如何实现我的机会百分比?
我知道我需要一个测试类来创建一个人物对象,我知道如何做到这一点,但这就是我所拥有的。不知道从哪里开始。
import java.util.Random;
public class SicknessTest {
private boolean sickness;
private boolean vitamin;
public void takeVitamin()
{
vitamin = true;
}
public void getSick()
{
}
}
答案 0 :(得分:2)
生成一个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;
}
答案 1 :(得分:0)
如果您知道目标百分比,例如35%的真实概率,则生成0到99之间的随机整数。如果它&lt;&lt; s&lt; 35,那是真的。否则它就是假的。