Java双色球系统开发详解

目录
  • 总结

功能说明

1.1. 菜单页功能

package lotteryDemo1;
import java.util.Scanner;
public class Menu {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        o:while(true){
            System.out.println("欢迎使用双色球系统,官方网站www.zhongbuliao.com");
            System.out.println("********请输入菜单选项*********");
            System.out.println("*        1:购买双色球         *");
            System.out.println("*        2:查看开奖           *");
            System.out.println("*        3:查看中奖           *");
            System.out.println("*        4:退出系统           *");
            System.out.println("******************************");
            System.out.println("请输入选项");
            int option =sc.nextInt();
            switch (option){
                case 1:
                    System.out.println("运行购买双色球代码");
                    break;
                case 2:
                    System.out.println("运行查看开奖代码");
                    break;
                case 3:
                    System.out.println("运行查看中奖代码");
                    break;
                case 4:
                    System.out.println("客官常来呀!");
                    break o;
                default:
                    System.out.println("客官不可以");
            }
        }
    }
}
 

1.2. 购买双色球

1.3. 查看开奖

准备彩票工具类

存放一个生成 彩票的方法

package lotteryDemo1;
import java.util.Arrays;
public class LotteryUtil {
    public static int[] getLottery(){
        int[] lottery=new int[6];
        for (int i = 0; i <6 ; i++) {
            int num =(int)(Math.random()*33+1);
            while(isContain(lottery,num)){
                num =(int)(Math.random()*33+1);
            }
            lottery[i]=num;
        }
        Arrays.sort(lottery);
        int[] lottery2=new int[7];
        System.arraycopy(lottery,0,lottery2,0,6);
        lottery2[6]=(int)(Math.random()*16+1);
        return lottery2;
    }
    public static boolean isContain(int[] arr,int b){
        boolean flag= false;
        for (int x:arr){
            if(x==b){
                flag=true;
                break;
            }
        }
        return  flag;
    }
}
 

在 menu类中添加代码

package lotteryDemo1;
import java.util.Arrays;
import java.util.Scanner;
public class Menu {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        // 声明一个二维数组 用于存储多个注彩票
        int[][] lotteries=new int[0][];
        int[] luckyNum=new int[0];
        o:while(true){
            System.out.println("欢迎使用双色球系统,官方网站www.zhongbuliao.com");
            System.out.println("********请输入菜单选项*********");
            System.out.println("*        1:购买双色球         *");
            System.out.println("*        2:查看我的双色球     *");
            System.out.println("*        3:查看开奖           *");
            System.out.println("*        4:查看中奖           *");
            System.out.println("*        5:退出系统           *");
            System.out.println("******************************");
            System.out.println("请输入选项");
            int option =sc.nextInt();
            switch (option){
                case 1:
                    System.out.println("运行购买双色球代码");
                    //输入够买的注数
                    System.out.println("请输入购买注数");
                    int zs=sc.nextInt();
                    // 创建一个二维数组 用于存储多个彩票
                    lotteries =new int[zs][];
                    //由程序循环生成彩票
                    for (int i = 0; i <zs ; i++) {
                        lotteries[i] = LotteryUtil.getLottery();
                    }
                    // 提示购买成功
                    System.out.println("购买成功");
                    break;
                case 2:
                    // 购买双色球
                    if(lotteries.length!=0){
                        /*遍历双色球二维数组*/
                        for (int[] lottery:lotteries) {
                            for (int x=0;x<lottery.length;x++) {
                                if(x==5){
                                    System.out.print(lottery[x]+"\t|\t");
                                }else{
                                    System.out.print(lottery[x]+"\t");
                                }
                            }
                            System.out.println();
                        }
                    }else{
                        System.out.println("客官请先花钱购买,然后再查看双色球");
                    }
                    break;
                case 3:
                    // 判断是否购买了双色球
                    // 再生成一注双色球,当成中奖号码即可
                    if(lotteries.length!=0){
                        // 生成中间号码
                        luckyNum=LotteryUtil.getLottery();
                        // 输出中奖号码
                        for (int x=0;x<luckyNum.length;x++) {
                            if(x==5){
                                System.out.print(luckyNum[x]+"\t|\t");
                            }else{
                                System.out.print(luckyNum[x]+"\t");
                            }
                        }
                        System.out.println();
                    }else{
                        System.out.println("客官请先花钱购买,然后再查看开奖号码");
                    }
                    break;
                case 4:
                    System.out.println("查看中奖!");
                    break;
                case 5:
                    System.out.println("客官再来呀!");
                    break o;
                default:
                    System.out.println("客官不可以");
            }
        }
    }
}
 

1.4. 查看中奖

在LotteryUtil中定义一个判断中奖的方法

public static int isWin(int[] luckyNum,int[] lottery){
    // 判断前六位有几位相同
    int red=0;
    for (int i = 0; i <6 ; i++) {
        System.out.print(lottery[i]+"\t");
        if(luckyNum[i]==lottery[i]){
            red++;
        }
    }
    int blue=luckyNum[6]==lottery[6]?1:0;
    System.out.print("\t|\t"+lottery[6]+"\t");
    int money=0;
    if(red==6&&blue==1){
        money=5000000;
        System.out.println("一等奖5000000元");
    }else if(red==6){
        money=1250000;
        System.out.println("二等奖1250000元");
    }else if(red==5&&blue==1){
        money=3000;
        System.out.println("三等奖3000元");
    }else if(red==5||red+blue==5){
        money=200;
        System.out.println("四等奖200元");
    }else if(red==4||red+blue==4){
        money=10;
        System.out.println("五等奖10元");
    } else if(red==0&&blue==1){
        money=5;
        System.out.println("六等奖5元");
    }else{
        System.out.println("未中奖0元");
    }
    return money;
}
 

在menu中添加查看中奖功能

1.5. 退出系统

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • java实现双色球彩票游戏

    综合案例开发:模拟双色球彩票游戏 玩法说明: 双色球投注区分为红球号码区和蓝球号码区,红球号码范围为01-33,蓝球号码范围为01-16.双色球每期从33 个红球中开出6个号码(不能重复),从16个蓝球中开出1个号码作为中奖号码,双色球玩法即是竞猜开奖号码的6 个红球号码和1个蓝球号码,顺序不限. 用户输入红球和蓝球号码,程序输出该用户中几等奖. 代码实现: import java.util.Random; import java.util.Scanner; public class Simul

  • java双色球机选法程序解析

    本文实例为大家分享了java双色球机选法程序的具体代码,供大家参考,具体内容如下 一.程序要求 随机产生红色球池1~33,并随机从红色球池中去除6个红球,且不可重复! 随机产生蓝色球池1~16, 并随机从蓝色球池中去除1个蓝球,且不可重复! 二.程序分析 a.先将红球与蓝球球池建立! 我们可以使用for循环来产生,并放到对应数组中. int[]hongQiu=new int[33]; for(int i=0;i<hongQiu.length;i++){ hongQiu[i]=i+1; b.通过R

  • Java实现简单双色球摇奖功能过程解析

    这篇文章主要介绍了Java实现简单双色球摇奖功能过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 双色球:从1-33号球中选取6个红球,且红球不重复 从1-16号球中选取一个篮球 话不多说 上代码~~~ package Javaee; import java.util.Arrays; import java.util.Random; public class DoubleChromosphere { public static void

  • java实现双色球机选号码生成器

    本文实例为大家分享了java实现双色球机选号码生成器的具体代码,供大家参考,具体内容如下 双色球号码1~32不重复选6个(排序好),1~16中选一个(蓝号) import java.util.Random; import java.util.Arrays; //操作数组的工具类 /** * 双色球号码机选 * * @author Administrator * */ public class Lettery { public static void main(String[] args) { f

  • 使用java技术抓取网站上彩票双色球信息详解

    前言 现在很多web应用,做过web项目的童鞋都知道,web结果由html+js+css组成,html结构都有一定的规范,数据动态交互可以通过js实现. 有些时候,需要抓取某一个你感兴趣的网站信息,一个网站信息肯定是通过某一个url,发送http请求,根据地址定位的,当知道这个地址,可以获取到很多的网络响应,需要认真分析,找到你那一个合适的地址,最后通过这个地址返回一个html给你,我们可以得到这个html,分析结构,解析这个结构获取你要的数据.Html的结构解析往往是复杂繁琐的,我们可以使用j

  • java实现双色球抽奖算法

    本文实例为大家分享了java实现双色球抽奖的具体代码,供大家参考,具体内容如下 实现双色球先考虑整体思路: 1.随机生成7位数的数组为大奖号码(前6位红球每个数值取值范围为1~33,而且6个数值不能相同,第七位篮球取值范围为1~16) 2.判断购买号码为手动输入还是机选(如为手动输入,将用for循环一次从控制台输入一个依次数赋值到数组:如为机选,实现代码和 1. 中相同) 3.将大奖号码和购买号码的前6位红球分别实现升序排列 4.判断大奖号码和购买号码的号码匹配程度来确定得奖级别或者没有得奖,并

  • Java实现爬取往期所有双色球开奖结果功能示例

    本文实例讲述了Java实现爬取往期所有双色球开奖结果功能.分享给大家供大家参考,具体如下: 梦想还是要有的,万一实现了呢?我相信经常买双色球的朋友和我都会有一个疑问,就是往期双色球的开奖结果是什么?我钟意的这一注双色球在往期是否开过一等奖,如果开过的话,基本上可以放弃这一注了,因为历史上应该没有出现过两期双色球开奖完全一致的吧?那么往期的开奖结果是什么呢?我自己用Java写了一个简易的类,爬取所有双色球开奖结果,本来想开发安卓版本的,由于UI等需要时间准备,有缘再开发吧. import java

  • Java双色球系统开发详解

    目录 总结 功能说明 1.1. 菜单页功能 package lotteryDemo1; import java.util.Scanner; public class Menu { public static void main(String[] args) { Scanner sc=new Scanner(System.in); o:while(true){ System.out.println("欢迎使用双色球系统,官方网站www.zhongbuliao.com"); System.

  • Java NIO服务器端开发详解

    一.NIO类库简介 1.缓冲区Buffer Buffer是一个对象,包含一些要写入和读出的数据. 在NIO中,所有的数据都是用缓冲区处理的,读取数据时,它是从通道(Channel)直接读到缓冲区中,在写入数据时,也是从缓冲区写入到通道. 缓冲区实质上是一个数组,通常是一个字节数组(ByteBuffer),也可以是其它类型的数组,此外缓冲区还提供了对数据的结构化访问以及维护读写位置等信息. Buffer类的继承关系如下图所示: 2.通道Channel Channel是一个通道,网络数据通过Chan

  • Java 用Prometheus搭建实时监控系统过程详解

    上帝之火 本系列讲述的是开源实时监控告警解决方案Prometheus,这个单词很牛逼.每次我都能联想到带来上帝之火的希腊之神,普罗米修斯.而这个开源的logo也是火,个人挺喜欢这个logo的设计. 本系列着重介绍Prometheus以及如何用它和其周边的生态来搭建一套属于自己的实时监控告警平台. 本系列受众对象为初次接触Prometheus的用户,大神勿喷,偏重于操作和实战,但是重要的概念也会精炼出提及下.系列主要分为以下几块 Prometheus各个概念介绍和搭建,如何抓取数据(本次分享内容)

  • Java Mybatis框架多表操作与注解开发详解分析

    目录 一对一查询 多对多查询 Mybatis的注解开发 Mybatis的增删查改 MyBatis的注解实现复杂映射开发 一对一查询 一对一查询的模型 用户表和订单表的关系为,一个用户有多个订单,一个订单只从属于一个用户. 一对一查询的需求:查询一个订单,与此同时查询出该订单所属的用户 一对一查询的语句 对应的sql语句: select * from orders o,user u where o.uid=u.id;查询的结果如下: 创建Order和User实体 创建OrderMapper接口 p

  • Java Apache Shiro安全框架快速开发详解流程

    目录 一.Shiro简介: shiro功能: Shiro架构(外部) Shiro架构(内部) 二.快速入门 1.拷贝案例 2.分析代码 三.SpringBoot 集成 Shiro 1.编写测试环境 2.使用 1.登录拦截 2.用户认证 四.Shiro整合Mybatis 五.实现请求授权 六.Shiro整合Thymeleaf 一.Shiro简介: Apache Shiro是一个Java的安全(权限)框架. Shiro 可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE环境,也可以用在Ja

  • Java实战之实现物流配送系统示例详解

    目录 介绍 效果图展示 主要实现代码 介绍 系统分普通用户.企业.超级管理员等角色,除基础脚手架外,实现的功能有: 超级管理员:系统管理.用户管理.企业用户管理.普通用户管理.货物类型管理.车辆管理.公告管理.使用帮助等. 普通用户:注册登录.个人信息管理(个人资料.密码修改.充值.订单管理等).货物浏览.公告查看.下单等. 企业用户:注册登录.修改密码.充值.订单管理.货物管理.车辆管理.安排车辆等. 运行环境:windows/Linux均可.jdk1.8.mysql5.7.redis3.0.

  • Java前后端分离的在线点餐系统实现详解

    项目功能: 此项目分为两个角色:普通用户和管理员.普通用户有登录注册.浏览商品信息.添加购物车.结算订单.查看个人信息.查看个人订单详情等等功能.管理员有管理所有商品信息.管理所有订单信息.管理所有用户信息.查看收益数据图表等等功能. 应用技术:SpringBoot + VueCli + MySQL + MyBatis + Redis + ElementUI 运行环境:IntelliJ IDEA2019.3.5 + MySQL5.7+ Redis5.0.5 + JDK1.8 + Maven3.6

  • java调用回调机制详解

    调用和回调机制 在一个应用系统中, 无论使用何种语言开发, 必然存在模块之间的调用, 调用的方式分为几种: 1.同步调用 同步调用是最基本并且最简单的一种调用方式, 类A的方法a()调用类B的方法b(), 一直等待b()方法执行完毕, a()方法继续往下走. 这种调用方式适用于方法b()执行时间不长的情况, 因为b()方法执行时间一长或者直接阻塞的话, a()方法的余下代码是无法执行下去的, 这样会造成整个流程的阻塞. 2.异步调用 异步调用是为了解决同步调用可能出现阻塞, 导致整个流程卡住而产

  • jdk安装、Java环境配置方法详解

    一.简介 jdk是Java语言的软件开发工具包,主要用于移动设备.嵌入式设备上的Java应用程序.jdk是整个Java开发的核心,包含了Java环境,Java工具和Java的基础类库. jre(Java Runtime Environment,Java运行环境),运行Java程序所必须的环境的集合 包含JVM标准实现及Java的核心类库 包含Java虚拟机(jvm) Java核心类库和支持文件 它不包含开发工具(jdk)–编译器.调试器和其他工具. 如果只需要运行Java程序或Applet,下载

  • javacv开发详解之调用本机摄像头视频

    前言 javacv开发包是用于支持java多媒体开发的一套开发包,可以适用于本地多媒体(音视频)调用以及音视频,图片等文件后期操作(图片修改,音视频解码剪辑等等功能),这里只使用最简单的本地摄像头调用来演示一下javacv的基础功能 重要: 建议使用最新javaCV1.5版本,该版本已解决更早版本中已发现的大部分bug javacv系列文章使用6个jar包: javacv.jar,javacpp.jar,ffmpeg.jar,ffmpeg-系统平台.jar,opencv.jar,opencv-系

随机推荐