双色球系统开发

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)

大家都在看

  • java Activiti 工作流引擎 SSM 框架模块设计方案

    工作流模块 1.模型管理 :web在线流程设计器、预览流程xml、导出xml、部署流程 2.流程管理 :导入导出流程资源文件、查看流程图、根据流程实例反射出流程模型、激活挂起 3….

    数据库 2023年6月6日
    0120
  • 0x01MySQL环境配置与软件安装

    0x01MySQL环境配置与软件安装 工具/原料 操作系统:CentOS7.6 软件版本: MySQL5.7.28 桌面环境:Windows 10 服务器远程工具组合:远程+文件上…

    数据库 2023年6月9日
    0104
  • MySQL-配置参数时 报错:remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu……

    报错:remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu…… 原因: 1、第一次配置参数时,不完整…

    数据库 2023年6月14日
    0118
  • JavaScript 获取 Url 上的参数(QueryString)值

    获取URL里面传的参数,在Js中不能像后台一样使用Request.QueryString来获取URL里面参数,下面介绍两种方式用来获取参数 方式一:使用split分隔来获取,这种方…

    数据库 2023年6月9日
    096
  • MySQL实战45讲 1,2

    01 | 基础架构:一条SQL查询语句是如何执行的? Server 层 所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。 存储引擎层负责数据的存储和提取。其架构模…

    数据库 2023年5月24日
    0128
  • 一条SQL更新语句是如何执行的

    文章首发于公众号「蝉沐风」,认真写好每一篇文章,欢迎大家关注交流 这是图解MySQL的第2篇文章,这篇文章会通过 一条SQL更新语句的执行流程让大家清楚地明白: 什么是InnoDB…

    数据库 2023年5月24日
    0122
  • MySQL实现阶段累加的sql写法 ,eq:统计余额

    最近项目碰到一个新的需求,统计每日充值/消费之后的余额。对于这种需求,其实也很简单,只需要在每次充值/消费后,计算下余额,然后保存下来就可以了。但是对于这种需求,一条sql就能搞定…

    数据库 2023年6月16日
    0111
  • 多商户商城系统功能拆解31讲-平台端营销-会员充值

    多商户商城系统,也称为B2B2C(BBC)平台电商模式多商家商城系统。可以快速帮助企业搭建类似拼多多/京东/天猫/淘宝的综合商城。 多商户商城系统支持商家入驻加盟,同时满足平台自营…

    数据库 2023年6月14日
    0100
  • 数据库的常用命令

    1. 数据操作类语句: SELECT:&#x4ECE;&#x6570;&#x636E;&#x5E93;&#x8868;&#x4E2D…

    数据库 2023年6月14日
    0118
  • Java根据Freemarker模板生成Word文件

    准备模板 模板 + 数据 = 模型 1、将准备好的Word模板文件另存为.xml文件(PS:建议使用WPS来创建Word文件,不建议用Office) 2、将.xml文件重命名为.f…

    数据库 2023年6月14日
    0111
  • rsync

    rsync rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。 rsync…

    数据库 2023年6月14日
    0110
  • 基础知识,不是很了解的

    Java中方法参数传递方式是按值传递。对于基本类型(int a, long b),参数传递时传递的是值,例如int a = 5,传递的就是5。如果是引用类型,传递是指向具体对象内存…

    数据库 2023年6月14日
    0119
  • Java List分批处理

    工作中经常遇到分批处理的问题,比如将一个List列表中的数据分批次保存至数据库中。如果列表中数据条目很大,比如1000万条以上,mysql中 max_allowed_packet …

    数据库 2023年6月14日
    0120
  • Java面向对象(上)

    Java面向对象(上) 一、面向对象的思想 1、面向过程: 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤逐一实现,使用的时候依次调用就可以了。 2、面向对象: 面向…

    数据库 2023年6月11日
    0113
  • MySQL实战45讲 17

    17 | 如何正确地显示随机消息? 场景:从词汇表中随机选择三个单词。 [En] Scene: three words are randomly selected from a v…

    数据库 2023年5月24日
    0114
  • leetcode 543. Diameter of Binary Tree 二叉树的直径(简单)

    给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。 示例 :给定二叉树 1 / \ 2 3 / \ …

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