连帅帅 发表于 2021-4-26 09:45:08

自己写的模仿福彩的小程序

该小程序是我在无聊的时候和朋友讨论的福彩的双色球,于是就百度了一下福彩的规则,写下了这个小程序,当天晚上就去福彩买了一注彩票,结果。。。。。。。。就中了一个数字{:10_334:} {:10_334:} ,哈哈哈,但还是很开心的,哈哈哈!

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)));
    }
}

连帅帅 发表于 2021-4-28 09:22:16

两天零回复,看来大家对这个并不怎么感兴趣呀{:10_243:}

不会起名字的我 发表于 2021-8-12 08:46:19

连帅帅 发表于 2021-4-28 09:22
两天零回复,看来大家对这个并不怎么感兴趣呀

yes,凭直觉更好{:10_256:}

连帅帅 发表于 2021-8-12 09:02:28

不会起名字的我 发表于 2021-8-12 08:46
yes,凭直觉更好

我用这个买了两次,每一次中的,哈哈哈,太绝了

不会起名字的我 发表于 2021-8-13 08:29:30

连帅帅 发表于 2021-8-12 09:02
我用这个买了两次,每一次中的,哈哈哈,太绝了

NBNBNB!
页: [1]
查看完整版本: 自己写的模仿福彩的小程序