用Java实现双色球规则以及中奖结果

本次代码模拟双色球选取结果,但与实际依旧有差别。

虽说是Java中Random随机产生数字,但依旧有规律可循。在此不做重点说明忽略不计。

双色球规则

    红球为1-33中随机6个不相同数字
    蓝球为1-16中随机一个数字
    一等奖:7个号码相符(6个红色球号码和1个蓝色球号码)(红色球号码顺序不限,下同)
    二等奖:6个红色球号码相符;
    三等奖:5个红色球号码和1个蓝色球号码相符;
    四等奖:5个红色球号码,或4个红色球号码和1个蓝色球号码相符;
    五等奖:4个红色球号码,或3个红色球号码和1个蓝色球号码相符;
    六等奖:1个蓝色球号码相符(有无红色球号码相符均可)。

代码如下面一段漂亮的代码片

import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;

public class shuangSeqiu {
    public static void main(String[]args){
        /*
        双色球
        红球为1-33中随机6个不相同数字
        蓝球为1-16中随机一个数字
        一等奖:7个号码相符(6个红色球号码和1个蓝色球号码)(红色球号码顺序不限,下同)
        二等奖:6个红色球号码相符;
        三等奖:5个红色球号码和1个蓝色球号码相符;
        四等奖:5个红色球号码,或4个红色球号码和1个蓝色球号码相符;
        五等奖:4个红色球号码,或3个红色球号码和1个蓝色球号码相符;
        六等奖:1个蓝色球号码相符(有无红色球号码相符均可)。
         */
        //1:用户选球
        int []userRedball=new int[6];
        Scanner scanner=new Scanner(System.in);
        for(int i=0;i<userRedball.length;i++){
            System.out.println("请输入第"+(i+1)+"个红球");

            userRedball[i]=scanner.nextInt();
        }
        System.out.println("请输入您所选蓝球:");
        int userBlueball=scanner.nextInt();


        //2.电脑选球
        int [] redBall=new int[33];
        //往红球池充球
        for(int k=0;k<redBall.length;k++){
            redBall[k]=k+1;
        }
        //电脑选红球
        int []computerRedball=new int[6];
        Random random=new Random();
        for(int m=0;m<computerRedball.length;m++){
            while (true){
                int index=random.nextInt(33);
                if(redBall[index]!=0){
                    computerRedball[m]=redBall[index];
                    redBall[index]=0;
                    break;
                }
            }
        }
        //电脑选蓝球
        int computerBlueball=random.nextInt(16);
        //3.中奖结果

        System.out.println("玩家所选结果");
        System.out.println(Arrays.toString(userRedball));
        System.out.println(userBlueball);
        System.out.println("***************************");
        System.out.println("电脑所选结果");
        System.out.println(Arrays.toString(computerRedball));
        System.out.println(computerBlueball);
        int count=0;
        for(int num1:computerRedball){
            for(int num2:userRedball){
                if(num1==num2){
                    count+=1;
                }
            }
        }
        if(count==6&&computerBlueball==userBlueball){
            System.out.println("一等奖");
        }else if(count==6){
            System.out.println("二等奖");
        } else if (count == 5 && computerBlueball == userBlueball) {
            System.out.println("三等奖");
        }else if(count==5||count==4&&computerBlueball==userBlueball){
            System.out.println("四等奖");
        }else if(count==4||count==3&&computerBlueball==userBlueball){
            System.out.println("五等奖");
        }else if(computerBlueball==userBlueball){
            System.out.println("六等奖");
        }else{
            System.out.println("谢谢惠顾");
        }

    }
}

运行结果如下:

请输入第1个红球
8
请输入第2个红球
12
请输入第3个红球
22
请输入第4个红球
31
请输入第5个红球
4
请输入第6个红球
15
请输入您所选蓝球:
9
玩家所选结果
[8, 12, 22, 31, 4, 15]
9
***************************
电脑所选结果
[13, 16, 1, 20, 4, 7]
3
谢谢惠顾

Process finished with exit code 0

本人刚接触Java,代码粗鄙不堪,在此希望各位读者多多批评指教!
谢谢!

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值