马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
该小程序是我在无聊的时候和朋友讨论的福彩的双色球,于是就百度了一下福彩的规则,写下了这个小程序,当天晚上就去福彩买了一注彩票,结果。。。。。。。。就中了一个数字 ,哈哈哈,但还是很开心的,哈哈哈!
package com.lian.Test;
import com.alibaba.fastjson.JSON;
import java.text.DecimalFormat;
import java.util.ArrayList;
/**
* @author :LSS
* @description:彩票中奖模拟小程序,一等奖到四等奖
* @date :2021/4/23 16:31
*/
public class Lottery {
//定义保留两位小数的模板
private static DecimalFormat df = new DecimalFormat("######0.0000000000000000");
//记录各个奖项中奖的次数,知道第一个一等奖出现为止,r5为测试总次数
private static int r1= 0,r2=0,r3=0,r4=0,r5=1;
public static void main(String[] args) {
while (true) {
System.out.println("当前第"+r5+"次执行!");
if (r1 == 1)
break;
int i = 0,k =0;
//声明红色求和蓝色球的存储对象,红色范围为1~3,蓝色为1~16
ArrayList<Integer> red = new ArrayList<>();
int bule = 0;
//定义中奖号码,前6个为红色,第七个为蓝色
ArrayList<Integer> prize = new ArrayList<>();
int bule1 = 0;
//选红色号码
while (true) {
if (red.size() == 6)
break;
int reda = (int) Math.ceil(Math.random() * 33);
if (!red.contains(reda)) {
red.add(reda);
i++;
}
}
//选蓝色号码
bule = (int) Math.ceil(Math.random() * 16);
//随机生成中奖号码
//生成红色号码
while (true) {
if (prize.size() == 6)
break;
int prizea = (int) Math.ceil(Math.random() * 33);
if (!prize.contains(prizea)) {
prize.add(prizea);
k++;
}
}
//生成蓝色号码
bule1 = (int) Math.ceil(Math.random() * 16);
//记录命中个数
int j = 0;
for (int i1 = 0; i1 < 6; i1++) {
if (prize.contains(red.get(i1)))
j++;
}
//对比,生成中奖率
if (j == 6 && bule1 == bule) {
r1++;
System.out.println("恭喜您一等奖");
System.out.println("您选的红色号码分别为" + JSON.toJSONString(red));
System.out.println("您选的蓝色号码为" + bule);
System.out.println("系统生成的红色号码为"+JSON.toJSONString(prize));
System.out.println("系统生成的蓝色号码为" + bule1);
} else if (j == 6) {
r2++;
System.out.println("恭喜您二等将");
System.out.println("您选的红色号码分别为" + JSON.toJSONString(red));
System.out.println("您选的蓝色号码为" + bule);
System.out.println("系统生成的红色号码为"+JSON.toJSONString(prize));
System.out.println("系统生成的蓝色号码为" + bule1);
} else if (j == 5 && bule == bule1) {
r3++;
System.out.println("恭喜您三等奖");
System.out.println("您选的红色号码分别为" + JSON.toJSONString(red));
System.out.println("您选的蓝色号码为" + bule);
System.out.println("系统生成的红色号码为"+JSON.toJSONString(prize));
System.out.println("系统生成的蓝色号码为" + bule1);
} else if ((j == 5 && bule != bule1) || (j == 4 && bule == bule1)) {
r4++;
System.out.println("恭喜您四等奖");
System.out.println("您选的红色号码分别为" + JSON.toJSONString(red));
System.out.println("您选的蓝色号码为" + bule);
System.out.println("系统生成的红色号码为"+JSON.toJSONString(prize));
System.out.println("系统生成的蓝色号码为" + bule1);
}
r5++;
}
System.out.println(r1+" "+r2+" "+r3+" "+r4);
//测试中奖概率
System.out.println("您的一等奖概率为:"+df.format(r1/(r5*1.0)));
System.out.println("您的二等奖概率为:"+df.format(r2/(r5*1.0)));
System.out.println("您的三等奖概率为:"+df.format(r3/(r5*1.0)));
System.out.println("您的四等奖概率为:"+df.format(r4/(r5*1.0)));
}
}
|