双色球彩票中奖

前言

双色球一蓝六红,根据双色球所代表数字与用户抽取的对应双色球所代表数值比较,相同就有对应的金额(注:这里红色球所代表数值与用户那里的数值不用按照顺序比较,即只要用户的彩票号码数值中有这一串数字就能中),中多少得多少

中奖表格展示

蓝球数红球数奖项金额
16特等奖一百万元
15一等奖五十万元
14二等奖十万元
05三等奖一万元
13四等奖五千元
10五等奖五百元
00谢谢惠顾你不要再给彩票交学费了

核心代码展示

 public static int[] createnumber() {
        //产生随机号码
        int[] arr = new int[6];
        Random random = new Random();
        System.out.println("随机蓝球号码");
        int bluenumber= random.nextInt(17)+1;
        arr[0]=bluenumber;
        for (int i = 1; i < arr.length;i++) {
            System.out.println("红球号码");
            int rednumber = random.nextInt(33) + 1;
            if(!judge(rednumber,arr)){
                arr[i]=rednumber;
            }else{
                i--;
            }
        }
        return arr;
    }

这一步是产生双色球对应的号码,并且是随机的,一共产生七组,(一组是蓝球六组是红球),当然现实可能(你懂的)

public static int[] createnumber() {
        //产生随机号码
        int[] arr = new int[7];
        Random random = new Random();
        System.out.println("随机蓝球号码");
        int bluenumber= random.nextInt(17)+1;
        arr[0]=bluenumber;
        for (int i = 0; i < arr.length;i++) {
            System.out.println("红球号码");
            int rednumber = random.nextInt(33) + 1;
            if(!judge(rednumber,arr)){
                arr[i]=rednumber;
            }else{
                i--;
            }
        }
        return arr;
    }

这一步是用户展示自己所中双色球的号码值

 public static boolean judge(int number,int[] arr){
        //判断随机号码是否重复
        for (int i = 0; i <arr.length ; i++) {
            if (arr[i] == number) {
                return true;
            }
        }
                return false;
            }

这一步是判断数值是否重复,我在这里作了要求,但实际上好像不太需要这个,我也不太清楚

 public static void check(int[] createArr, int[] empArr){
        //定义
        int bluecount = 0;
        int redcount = 0;
        //遍历用户输入
        for (int i = 1; i < empArr.length; i++) {

            //换新数组
            int[] ints = Arrays.copyOfRange(createArr, 1, createArr.length);
            //判断是否在数组中
            if (judge(empArr[i], ints)){
                redcount++;
            }
        }
        //判断篮球
        if (createArr[0] == empArr[0]){
            bluecount++;
        }
        //输出
        if ( bluecount == 1 && redcount == 6 ){
            System.out.println("特等奖100万");
        }else if (bluecount == 1 && redcount == 5){
            System.out.println("一等奖50万");
        }else if (bluecount == 1 && redcount == 4){
            System.out.println("二等奖10万");
        }else if (bluecount == 0 && redcount == 5){
            System.out.println("三等奖1万");
        }else if (bluecount == 1 && redcount == 3){
            System.out.println("四等奖5000");
        }else if (bluecount == 1 ){
            System.out.println("五等奖500元");
        }else{
            System.out.println("你的运气比我斗地主还差");
        }

        System.out.println("结果");
        System.out.println("彩票"+Arrays.toString(createArr));
        System.out.println("用户"+Arrays.toString(empArr));

    }
    }

这一步就是在机器随机中奖号码与用户所抽中的号码相互比较,进行统计所中号码的数的个数统计

public static void main(String[] args) {
        //随机号码
        int[] number=createnumber();
        for (int i = 0; i <number.length ; i++) {
            System.out.print(number[i]+" ");
        }
        System.out.println();
        int[] number1=addnumber();
        for (int i = 0; i < number1.length ; i++) {
            System.out.print(number1[i]+" ");
        }
        System.out.println();
        check(number,number1);
    }

最后这一步是主方法,我们在这里展示了七组双色球号码与用户所中的号码,并得到最终结果

随机结果

2 33 28 25 31 1 19 
请输入你的蓝色球号码
2
请输入你的红色球号码
33
请输入你的红色球号码
28
请输入你的红色球号码
25
请输入你的红色球号码
31
请输入你的红色球号码
1
请输入你的红色球号码
19
2 33 28 25 31 1 19 
特等奖100万
结果
彩票[2, 33, 28, 25, 31, 1, 19]
用户[2, 33, 28, 25, 31, 1, 19]

结语

抽奖的方式很多,有圆盘式或者九宫格式的,亦或者直接排列随机抽取,我个人最喜欢九宫格式抽取,就是中间一个抽奖,周围八个格子是奖品,一个格子是谢谢惠顾,这种多见于不属于购物抽奖的形式,像拼多多那样是圆盘式的(个人理解),等下一次有时间会写一个九宫格的抽奖出来玩玩,大概率就是写一个九宫格页面,再写一个业务程序,与页面相连接,就能直接使用应该挺好玩的

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值