作者 | 顾北
对这个世界充满向往的理想主义者

基于JAVA语言编写,模拟实现双色球摇奖器摇奖过程,产生的有效号码与用户输入的有效号码对比,输出用户的中奖情况。

用户首先输入自己购买的双色球号码(其中6个红色球号码,1个蓝色球号码。红色球号码范围在1-33,蓝色球号码1-16)。

接下来程序模拟双色球摇奖器,随机产生一组有效号码,逐个打印出来。

摇奖器产生的号码与用户购买的号码进行对比,判断用户中奖情况。

  • 一等奖:7个号码相符(6个红色球号码和1个蓝色球号码)(红色球号码顺序不限,下同)
  • 二等奖:6个红色球号码相符;
  • 三等奖:5个红色球号码和1个蓝色球号码相符;
  • 四等奖:5个红色球号码,或4个红色球号码和1个蓝色球号码相符;
  • 五等奖:4个红色球号码,或3个红色球号码和1个蓝色球号码相符;
  • 六等奖:1个蓝色球号码相符(有无红色球号码相符均可)。
public class DoubleChromosphere {//定义红色球的集合static ArrayList<Integer> redbox = new ArrayList<Integer>();//定义蓝色球static int bluebox;//定义箱子static ArrayList<Integer> box = new ArrayList<Integer>();//把红球都放到箱子里static ArrayList<Integer> useredbox = new ArrayList<Integer>();static int usebluebox;//定义 红球匹配的个数static int reddui = 0;static int bluedui = 0;public static void kai() {System.out.println("开奖了");for (int i = 1; i <= 33; i++) {box.add(i);}Random r = new Random();//红球System.out.print("红球");for (int i = 1; i <= 6; i++) {//根据索引找到球int x = r.nextInt(box.size());int redbox1 = box.get(x);//删除已经拿出来的球box.remove(x);try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}System.out.print(redbox1 + " ");redbox.add(redbox1);}try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}System.out.print("蓝球");try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}bluebox = r.nextInt(16) + 1;System.out.println(bluebox);}public static void main(String[] args) {System.out.println("欢迎来来到中国福利彩票双色球,请量力而行,理性购彩");Scanner sc = new Scanner(System.in);List<Integer> list = new ArrayList<>();for (int i = 1; i <= 6; i++) {System.out.println("请输入您要购买第" + i + "红色球的号码,范围是1到33,且不可重复购买一个号码");int useredbox1 = sc.nextInt();if (useredbox1 < 1 || useredbox1 > 33) {System.out.println("您输入的数字有误,请重新输入");i=0;} else {boolean result = list.contains(useredbox1);useredbox.add(useredbox1);if(result){System.out.println("您输入有误,请重新输入.请别输入重复的数字.");i -- ;}else{list.add(useredbox1);}}}System.out.println("请输入您要购买的蓝球的号码,范围在1到16");usebluebox = sc.nextInt();//判断是否有相同元素System.out.println("您现在选好的红球是" + useredbox + "蓝球是" + usebluebox);System.out.println("请耐心等待10秒,十秒之后将揭晓结果");try {Thread.sleep(10000);} catch (InterruptedException e) {e.printStackTrace();}kai();//遍历用户  红色相同的个数 调用retainAll方法useredbox.retainAll(redbox);reddui = useredbox.size();if (usebluebox == bluebox) {bluedui++;}if (reddui == 6 && bluedui == 1) {System.out.println("恭喜你获得一等奖,奖金1000万元");} else if (reddui == 6 && bluedui == 0) {System.out.println("恭喜你获得二等奖,奖金500万元");} else if (reddui == 5 && bluedui == 1) {System.out.println("恭喜你获得三等奖,奖金1万元");} else if (reddui == 5 && bluedui == 0 || reddui == 4 && bluedui == 1) {System.out.println("恭喜你获得四等奖,奖金3000元");} else if (reddui == 4 && bluedui == 0 || reddui == 3 && bluedui == 1) {System.out.println("恭喜你获得五等奖,奖金100元");} else if (reddui == 2 && bluedui == 1 || reddui == 1 && bluedui == 1 || reddui == 0 && bluedui == 1) {System.out.println("恭喜你获得六等奖,奖金5元");} else {System.out.println("希望您下次中奖,欢迎下次购买");}}
}

基于Java语言双色球摇奖过程的模拟实现相关推荐

  1. java swing写的双色球摇奖机

    最近没什么事,翻看以前的博客,看到在学校那会写的小程序,那时学软件开发的目的就是做GUI啊,现在这些仍是兴趣之一 偶然发现eclipse luna自带有一个windowbuilder,一个java 可 ...

  2. 用C#(入门) 双色球摇奖机 随机数实现

    这两天在深入学习C#.NET,正好同事做发财梦吵着去买彩票,于是心血来潮,利用昨晚工作空闲,写了一个双色球摇奖机的桌面程序. 程序在我的google论坛里了.下载地址如下(有点长:)): http:/ ...

  3. 基于Java语言构建区块链(五)—— 地址(钱包)

    基于Java语言构建区块链(五)-- 地址(钱包) 2018年03月25日 18:02:06 wangwei_hz 阅读数:1292更多 个人分类: 区块链bitcoin比特币 文章的主要思想和内容均 ...

  4. 基于Java语言构建区块链(六)—— 交易(Merkle Tree)

    基于Java语言构建区块链(六)-- 交易(Merkle Tree) 2018年04月16日 10:21:35 wangwei_hz 阅读数:480更多 个人分类: 区块链比特币bitcoin 最终内 ...

  5. java 解析数据包_一种基于Java语言的网络通讯数据包解析方法与流程

    本发明涉及网络通讯领域,特别涉及一种基于Java语言的网络通讯数据包解析方法. 背景技术: 计算机系统和网络的大量普及使用使全球跨入了信息化时代.但是,正由于现代社会中几乎一切都在"计算机化 ...

  6. 基于Java语言的安卓程序编程之一环境搭建2

    3 Eclipse及其插件的安装 Eclipse可以看成是Java的集成开发环境.基于Java语言的安卓程序编程就是在Eclipse上进行的.Eclipse附带了一个标准的插件集,通过Eclipse可 ...

  7. 基于Java语言的Appium的使用讲义

    第一章 基于 Java 语言的 Appium 的使用 一. Appium 简介 1 什么是 Appium  是一个移动端的自动化测试框架,可用于测试原生应用,移动网页应用和混合型应用, 且是跨平台的 ...

  8. java+SpringBoot+HTML+Mysq基于Java语言开发的奶茶外卖平台

     详细功能设计:请点击下面链接查看 java+SpringBoot+HTML+Mysq基于Java语言开发的奶茶外卖平台_哔哩哔哩_bilibili 源码+论文获取: 源码+论文获取请私信获取 摘   ...

  9. Leetcode刷题第1题:两数之和(基于Java语言)

    ** Leetcode刷题第1题:两数之和(基于Java语言) ** 题目: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标 ...

最新文章

  1. 本地运行github上的vue2.0仿饿了么webapp项目
  2. git cherry-pick用法
  3. 蓝牙PSKEY的调整
  4. 江西计算机一级考试教程,江西省2019年下半年计算机一级考试复习教程:计算机基础及MS Office应用上机指导...
  5. winform listbox增加鼠标双击事件
  6. vue-awesome-swiper使用自动轮播和循环轮播不生效(loop和autoplay)
  7. linux 查看日志以及查看
  8. 使用OpenCV和Tensorflow跟踪排球的轨迹
  9. chrome 油猴 电脑或者手机click()失效,解决
  10. boss直聘改回系统头像_Boss直聘VS猎聘,谁的营销广告更胜一筹
  11. 32 | KafkaAdminClient:Kafka的运维利器
  12. ROS系统MoveIt玩转双臂机器人系列(一)--ROS机器人建模
  13. 线索二叉树的前序遍历
  14. HIS 与医保系统的接入方案及实现
  15. 鱼的记忆[较为重要的知识点/技巧]
  16. 网页出现乱码及乱码解决方案
  17. sqlmap使用图解
  18. 金融量化分析世界观和方法论
  19. 碎片文字摘录,触动心灵的文字,愿其成为我们前行的慰藉
  20. 【数学】三角函数性质及公式

热门文章

  1. 磨金石教育丨插画如何构图?这9个思路百用不厌
  2. 【语义分割】ps实现对粗标签精细标注
  3. 倾角传感器的无线传输有几种?
  4. 【技术分享】用 Python 实现 小六壬 测算吉时
  5. 【skynet学习笔记】skynet的目录结构
  6. 众昂矿业刘金海:成就萤石稀有且高价值
  7. 【行测】“逻辑推理”聂佳课程笔记——2. 定义判断
  8. ChatGPT分销版多开4.4.2版本源码
  9. 数字经济时代审计工作的数智化转型
  10. 查询快递单号需要怎么操作