十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
中奖率 1%,每人抽 10 次,也就是说 10 个人就可以抽 100 次,概率上来说 10 个人必中奖?假设逻辑是这样的,可以这样设计:
创新互联主营安陆网站建设的网络公司,主营网站建设方案,手机APP定制开发,安陆h5重庆小程序开发公司搭建,安陆网站营销推广欢迎安陆等地区企业咨询
1、先写定义一个表示概率的数组 ratio,这个数组最多可以存 100 个数字,每个数字的值不能重复,范围是 0 到 100,表示 100%。现在你的中奖率是 1%,那么就存一个数字。
2、定义一个是否中将的布尔型变量 win;
每次抽奖用随机正整数对 100 取余,再将结果拿到 ratio 数组中查找,如果找到就将 win 赋值为 true,表示中奖。如果没找到就对 win 赋值为 false,表示没有中奖。
用概率模型,先随机一次看取用哪个概率,随后再随机一次。代码示例如下: import java.util.Random;public class HelloWorld { public static void main(String[] args) { Random random = new Random(); double p1=0.7; //1~4的概率 double p=(...
import java.util.Random;
public class FruitShow {
private static final String[] showFruits = {
"橘子", "香蕉", "苹果"
};
public static void showFruit() {
Random fruitShowControl = new Random();
int showprobability = fruitShowControl.nextInt(10);
if (showprobability = 0 showprobability 5) {
System.out.println(showFruits[0]);
} else if (showprobability = 5 showprobability 8) {
System.out.println(showFruits[1]);
} else {
System.out.println(showFruits[2]);
}
}
public static void main(String[] args) {
for (int i = 0; i 10; i++) {
showFruit();
}
}
}
这个很简单啊。用(int) (Math.random() * 30);,然后求这个随机数除以3的余数就好了。分为0,1,2,三种情况。是完美的三分之一。