双色球系统开发

Java对彩票双色球系统开发的简单实现

双色球系统

案例:

双色球系统开发

中奖条件及奖金表

双色球系统开发

代码及解释

main方法代码:

public static void main(String[] args) {
        //1.随机6个红球号码(1~33,不能重复),随机一个蓝球号码(1~16)
        int[] num = createLuckNumber();
//        printArray(num);
//        System.out.println();

        //2.调用一个方法让用户输入7个号码,作为用户选号
        int[] userNums = userInputNumbers();
//        printArray(userNums);

        //3.判断中奖情况
        judge(num,userNums);
    }

系统产生随机双色球号码的代码

public static int[] createLuckNumber() {
        //a、定义一个动态初始化的数组,存储7个数字
        int[] number = new int[7];
        //b、遍历数组,为每个位置生成对应的号码(注意只遍历前6个不重复的红球号码,范围1~33)
        Random random = new Random();
        for (int i = 0; i < number.length - 1; i++) {
            //为当前位置找出不重复的6个不重复且符合范围的数

            while (true) {
                int data = random.nextInt(33) + 1;
                //c、注意:必须判断当前随机的这个号码之前是否出现过,出现过要重新随机一个,知道不重复位置
                // 定义一个flag变量,默认true是没有重复的
                boolean flag = true;
                for (int j = 0; j < i; j++) {
                    if (number[j] == data) {
                        //data当前数字前面出现过,不能用并且对flag进行标记
                        flag = false;
                        break;
                    }
                }
                if (flag) {
                    //data当前值前面没出现过
                    number[i] = data;
                    break;
                }
            }
        }
        // d.为第7个位置生成一个1~16的篮球号码
        number[number.length - 1] = random.nextInt(16) + 1;
        return number;
    } //系统产生随机双色球号码

&#x7528;&#x6237;&#x8F93;&#x5165;&#x81EA;&#x5DF1;&#x7684;&#x53CC;&#x8272;&#x7403;&#x53F7;&#x7801;&#x7684;&#x4EE3;&#x7801;

public static int[] userInputNumbers() {
        //a.定义一个数组存储7个号码
        int[] numbers = new int[7];
        //b.让用户录入6个红球号码
        Scanner scanner = new Scanner(System.in);
        for (int i = 0; i < numbers.length - 1; i++) {
            System.out.println("请您输入第" + (i + 1) + "个红球号码(1 ~ 33,要求数字不重复):");
            int data = scanner.nextInt();
            //c.把当前录入的号码存入数组中
            numbers[i] = data;

        }
        //d.单独录入一个蓝球号码
        System.out.println("请您输入蓝球号码(1 ~ 16):");
        numbers[6] = scanner.nextInt();

        return numbers;
    } //用户输入自己的双色球号码

&#x4E2D;&#x5956;&#x60C5;&#x51B5;&#x5206;&#x6790;&#x53CA;&#x4E2D;&#x5956;&#x7ED3;&#x679C;&#x8F93;&#x51FA;&#x7684;&#x4EE3;&#x7801;

public static void judge(int[] num, int[] userNums) {
        //判断是否中奖了
        //1.定义两个变量分别存储红球,蓝球的命中个数
        int redHit = 0;
        int blueHit = 0;

        //2.判断红球命中了几个
        for (int i = 0; i < num.length - 1; i++) {
            for (int j = 0; j < userNums.length - 1; j++) {
                if (num[i] == userNums[j]) {
                    redHit++;
                    break;
                }
            }
        }
        //3.判断蓝球是否命中
        blueHit = num[num.length - 1] == userNums[userNums.length - 1] ? 1 : 0;

        System.out.println("中奖号码为:");
        printArray(num);
        System.out.println();
        System.out.println("您投注的号码为:");
        printArray(userNums);
        System.out.println();
        System.out.println("您命中红球的个数为:" + redHit);
        System.out.println("您命中蓝球的个数为:" + blueHit);
        //最后判断中奖情况输出中奖结果:
        if (blueHit == 1 || redHit < 3) {
            System.out.println("恭喜您,中了六等奖 5 元");
        } else if (blueHit == 1 && redHit == 3 || blueHit == 0 && redHit == 4) {
            System.out.println("恭喜您,中了五等奖 10 元");
        } else if (blueHit == 1 && redHit == 4 || blueHit == 0 && redHit == 5) {
            System.out.println("恭喜您,中了四等奖 200 元大奖");
        } else if (blueHit == 1 && redHit == 5) {
            System.out.println("恭喜您,中了三等奖 3000 元大奖");
        } else if (blueHit == 0 && redHit == 6) {
            System.out.println("恭喜您,中了二等奖 500万 超级大奖!");
        } else if (blueHit == 1 && redHit == 6) {
            System.out.println("恭喜您,中了一等奖 1000万 巨奖!!");
        } else {
            System.out.println("感谢您为福利事业做出的贡献!!!");
        }

    } //中奖情况分析及中奖结果输出

案例来自黑马案例7

Original: https://www.cnblogs.com/zhangyouren/p/16406330.html
Author: Haziy
Title: 双色球系统开发

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/622561/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 史上最全Mysql规范

    1 整体规约 1)【强制】数据库所有对象必须要有注释,包括:表、字段、索引等,并且要保持最新; 1)【强制】默认使用utf8字符集,无乱码风险,除一些需要存储特殊符号的字段,可以采…

    数据库 2023年6月14日
    096
  • Decorator 装饰(结构型)

    Decorator 装饰 (结构型) 一:描述: Decorator 装饰模式是动态地给一个对象增加一些额外的功能职责特性。 来替换以前使用的继承来静态扩展对象的功能,避免子类的增…

    数据库 2023年6月11日
    0100
  • 从前,有一个简单的通道系统叫尤娜……

    从前,有个女生宿舍,住着小A、小B、尤娜和我4个人。有天,小A不小心把小B的床板坐塌了。小B非常生气,当场和小A翻脸。不论人缘最好的尤娜怎么中间调解都不管用。一直到毕业,小A和小B…

    数据库 2023年6月6日
    095
  • MySQL实战45讲 6,7,8

    06 | 全局锁和表锁 :给表加个字段怎么有这么多阻碍? Connection连接与Session会话 通俗来讲,会话(Session)是通信双⽅从开始通信到通信结束期间的⼀个上下…

    数据库 2023年6月16日
    0107
  • 为Typora配置Gitee图床

    安装Typora 官网下载直接安装:https://www.typora.io/#download 编辑Typora图像设置 说明: 打开:文件–>偏好设置&#8…

    数据库 2023年6月11日
    0180
  • OA系统模块设计方案

    `1.模型管理 :web在线流程设&#x…

    数据库 2023年6月6日
    097
  • QT槽函数获取信号发送对象

    Qt 在槽函数中获取信号发送对象 Qt中提供了一个函数 qobject_cast(QObject *object),可以通过这个函数判断信号发出对象 Qt 帮助文档的解释:Retu…

    数据库 2023年6月16日
    0156
  • 设计模式之工厂方法

    一、工厂方法:简单工厂违背了单一职责原则,而且不利于扩展,于是衍生了工厂方法模式,该模式能很好地解决对扩展开放、对修改关闭的需求。 二、实现思路 :对每一个对象都创建一个对应的工厂…

    数据库 2023年6月14日
    0141
  • Mysql 触发器

    Mysql触发器 1、1 触发器定义 ​ 触发器是由事件来触发某个操作, 事件包括 insert update delete事件, 优势: 保证数据完整性。 触发器可以帮助记录操作…

    数据库 2023年6月11日
    0103
  • MySQL 同步复制及高可用方案总结

    mysql作为应用程序的数据存储服务,要实现mysql数据库的高可用。必然要使用的技术就是数据库的复制,如果主节点出现故障可以手动的切换应用到从节点,这点相信运维同学都是知道,并且…

    数据库 2023年6月9日
    095
  • Golang 接口(interface)

    Go 语言的接口遵守LSP(里氏替换原则),即 一个类型可以自由地被另一个满足相同接口的类型替换。 接口类型具体描述了一系列方法的集合,一个实现了这些方法的具体类型是这个接口类型的…

    数据库 2023年6月16日
    091
  • 分割list,将集合按规定个数分为n个部分。

      /** * 按指定大小,分隔&#x9…

    数据库 2023年6月11日
    093
  • 2022-8-15 数据库 mysql 第一天

    Mysql数据库 数据库 数据库【按照数据结构来组织、存储和管理数据的仓库】。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。 数据对于公司来说最宝贵的财…

    数据库 2023年6月14日
    0113
  • [LeetCode]14. 最长公共前缀

    编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 “”。 示例 1: 输入: [“flower”,&…

    数据库 2023年6月9日
    094
  • 《SpringBoot官网文档:2.1.5》

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    数据库 2023年6月14日
    096
  • phpstrom以及webstrom等jetbrains全家桶激活方法

    因为最近重新安装了phpstrom,所以在网上找了许多激活方式,各种激活码和加公众号都试过了,没有一个能用的,直到我找到了以下的方式,亲测可用: 原理是我们通过代码搜索其他授权服务…

    数据库 2023年6月14日
    0170
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球