模拟双色球系统——Java

目录

一、内容简介

二、 基本流程

 三、具体步骤

1.菜单栏 

2.随机生成幸运号码 

3.用户输入 

4.判断中奖情况 

5.打印数组

 四、代码实现

五、效果展示


一、内容简介

双色球是彩票的一种玩法,规则如下:

  1. 红球一共6组,每组从1——33中随机抽取抽取,互不重复。
  2. 蓝球是从1——16中随机抽取一个数。
  3. 一共7个数字组成双色球的幸运号码。

下面是一张中奖规则图。

 

二、 基本流程

  1. 生成幸运随机号码。前6位从1——33中随机选择,不能重复;最后一位从1——16中选择(可与前6个数字重复)。
  2. 用户输入7位数字,如果不符合规则,要重新输入。
  3. 判断中奖情况,并输出命中红球和蓝球个数。

 三、具体步骤

1.菜单栏 

 public static void menu(){System.out.println("**************************************************************");System.out.println("            欢迎来到双色球,开启你的财富之旅~~~            ");System.out.println("**************************************************************");System.out.println("游戏规则如下:");System.out.println("--------------------------------------------------------------");System.out.println("前6个红球请从1————33中选择,红球不能重复;第7个蓝球请从1————16中选择。");System.out.println("--------------------------------------------------------------");System.out.println("以下是中奖规则:");System.out.println("--------------------------------------------------------------");System.out.println("一等奖:红球6个+蓝球1个,奖金100万");System.out.println("二等奖:红球6个+蓝球0个,奖金500万");System.out.println("三等奖:红球5个+蓝球1个,奖金3000元");System.out.println("四等奖:红球5个+蓝球0个;红球4个+蓝球1个,奖金200元");System.out.println("五等奖:红球4个+蓝球0个;红球3个+蓝球1个,奖金10元");System.out.println("六等奖:红球2个+蓝球1个;红球1个+蓝球1个;红球0个+蓝球1个,奖金5元");System.out.println("-------------------------------------------------------------");}

2.随机生成幸运号码 

/*** 随机生成幸运号码* @return 相应的数组*/public static int[] LuckyNumber()//随机生成幸运号码{int[] arr = new int[7];Random ran = new Random();for (int i = 0; i < arr.length - 1; i++) {//随机生成六个不重复的红球号码while (true) {int code = ran.nextInt(33) + 1;boolean flag = true;for (int j = 0; j < i; j++) {if (arr[j] == code) {flag = false;break;}}if (flag) {arr[i] = code;break;}}}arr[arr.length - 1] = ran.nextInt(16) + 1;//蓝球号码return arr;}

3.用户输入 

/*** 用户输入* @return 相应的数组*/public static int[] UsersNumber()//用户输入号码{int[] arr = new int[7];Scanner sca = new Scanner(System.in);for (int i = 0; i < arr.length - 1; i++) //6个红球号码{System.out.println("请输入第" + (i + 1) + "个号码");while (true) {int number = sca.nextInt();if (number >= 1 && number <= 33) {arr[i] = number;break;} else {System.out.println("该号码无效,请重新输入!!!");}}}System.out.println("请输入第" + (arr.length) + "个号码");while (true) {int BlueNumber = sca.nextInt();if (BlueNumber >= 1 && BlueNumber <= 16) {arr[arr.length - 1] = BlueNumber;break;} else {System.out.println("该号码无效,请重新输入!!!");}}return arr;}

4.判断中奖情况 

/*** 判断中奖情况* @param lucknumber 幸运数字的数组* @param usersnumber 输入的数组*/public static void compare(int[] lucknumber, int[] usersnumber)//判断中奖情况{int rednumber = 0;int bluenumber = 0;for (int i = 0; i < usersnumber.length - 1; i++) {for (int j = 0; j < lucknumber.length - 1; j++) {if (usersnumber[i] == lucknumber[j]) {rednumber++;break;}}}if (lucknumber[lucknumber.length - 1] == usersnumber[usersnumber.length - 1])bluenumber++;//输出命中情况System.out.println("您命中的红球个数:" + rednumber);System.out.println("您命中的蓝球个数:" + bluenumber);if (bluenumber == 1 && rednumber < 3) {System.out.println("恭喜您,中了5元!!!");} else if (bluenumber == 1 && rednumber == 3|| bluenumber == 0 && rednumber == 4) {System.out.println("恭喜您,中了10元!!!");} else if (bluenumber == 1 && rednumber == 4|| bluenumber == 0 && rednumber == 5) {System.out.println("恭喜您,中了200元!!!");} else if (bluenumber == 1 && rednumber == 5) {System.out.println("恭喜您,中了300元!!!");} else if (bluenumber == 0 && rednumber == 6) {System.out.println("恭喜您,中了500万!!!");} else if (bluenumber == 1 && rednumber == 6) {System.out.println("恭喜您,中了1000万!!!");} elseSystem.out.println("很遗憾,您没能中奖~~~");}
}

5.打印数组

注:这只是初学的时候使用的方法。

可以使用Arrays.toString()方法直接输出

public static void Print(int[] arr)//打印数组{System.out.print("[");for (int i = 0; i < arr.length; i++) {System.out.print(i == arr.length - 1 ? arr[i] : arr[i] + ", ");}System.out.println("]");}

 四、代码实现

import java.util.Random;
import java.util.Scanner;public class lottery {public static void main(String[] args)//双色球系统开发{while (true) {menu();int[] lucky = LuckyNumber();int[] users = UsersNumber();System.out.println("-------------------------------------------------------------");System.out.println("请用户输入号码");System.out.println("投注号码是:");Print(users);System.out.println("中奖号码是:");Print(lucky);compare(lucky, users);System.out.println();System.out.println();System.out.println();}}public static void menu() {System.out.println("**************************************************************");System.out.println("            欢迎来到双色球,开启你的财富之旅~~~            ");System.out.println("**************************************************************");System.out.println("游戏规则如下:");System.out.println("--------------------------------------------------------------");System.out.println("前6个红球请从1————33中选择,红球不能重复;第7个蓝球请从1————16中选择。");System.out.println("--------------------------------------------------------------");System.out.println("以下是中奖规则:");System.out.println("--------------------------------------------------------------");System.out.println("一等奖:红球6个+蓝球1个,奖金100万");System.out.println("二等奖:红球6个+蓝球0个,奖金500万");System.out.println("三等奖:红球5个+蓝球1个,奖金3000元");System.out.println("四等奖:红球5个+蓝球0个;红球4个+蓝球1个,奖金200元");System.out.println("五等奖:红球4个+蓝球0个;红球3个+蓝球1个,奖金10元");System.out.println("六等奖:红球2个+蓝球1个;红球1个+蓝球1个;红球0个+蓝球1个,奖金5元");System.out.println("-------------------------------------------------------------");}public static void Print(int[] arr)//打印数组{System.out.print("[");for (int i = 0; i < arr.length; i++) {System.out.print(i == arr.length - 1 ? arr[i] : arr[i] + ", ");}System.out.println("]");}/*** 随机生成幸运号码* @return 相应的数组*/public static int[] LuckyNumber()//随机生成幸运号码{int[] arr = new int[7];Random ran = new Random();for (int i = 0; i < arr.length - 1; i++) {//随机生成六个不重复的红球号码while (true) {int code = ran.nextInt(33) + 1;boolean flag = true;for (int j = 0; j < i; j++) {if (arr[j] == code) {flag = false;break;}}if (flag) {arr[i] = code;break;}}}arr[arr.length - 1] = ran.nextInt(16) + 1;//蓝球号码return arr;}/*** 用户输入* @return 相应的数组*/public static int[] UsersNumber()//用户输入号码{int[] arr = new int[7];Scanner sca = new Scanner(System.in);for (int i = 0; i < arr.length - 1; i++) //6个红球号码{System.out.println("请输入第" + (i + 1) + "个号码");while (true) {int number = sca.nextInt();if (number >= 1 && number <= 33) {arr[i] = number;break;} else {System.out.println("该号码无效,请重新输入!!!");}}}System.out.println("请输入第" + (arr.length) + "个号码");while (true) {int BlueNumber = sca.nextInt();if (BlueNumber >= 1 && BlueNumber <= 16) {arr[arr.length - 1] = BlueNumber;break;} else {System.out.println("该号码无效,请重新输入!!!");}}return arr;}/*** 判断中奖情况* @param lucknumber 幸运数字的数组* @param usersnumber 输入的数组*/public static void compare(int[] lucknumber, int[] usersnumber)//判断中奖情况{int rednumber = 0;int bluenumber = 0;for (int i = 0; i < usersnumber.length - 1; i++) {for (int j = 0; j < lucknumber.length - 1; j++) {if (usersnumber[i] == lucknumber[j]) {rednumber++;break;}}}if (lucknumber[lucknumber.length - 1] == usersnumber[usersnumber.length - 1])bluenumber++;//输出命中情况System.out.println("您命中的红球个数:" + rednumber);System.out.println("您命中的蓝球个数:" + bluenumber);if (bluenumber == 1 && rednumber < 3) {System.out.println("恭喜您,中了5元!!!");} else if (bluenumber == 1 && rednumber == 3|| bluenumber == 0 && rednumber == 4) {System.out.println("恭喜您,中了10元!!!");} else if (bluenumber == 1 && rednumber == 4|| bluenumber == 0 && rednumber == 5) {System.out.println("恭喜您,中了200元!!!");} else if (bluenumber == 1 && rednumber == 5) {System.out.println("恭喜您,中了300元!!!");} else if (bluenumber == 0 && rednumber == 6) {System.out.println("恭喜您,中了500万!!!");} else if (bluenumber == 1 && rednumber == 6) {System.out.println("恭喜您,中了1000万!!!");} elseSystem.out.println("很遗憾,您没能中奖~~~");}
}

五、效果展示

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/55737.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面试问题之自我介绍

1、自我介绍 1. 我叫xxx&#xff0c;今年24岁&#xff0c;来自山东潍坊&#xff0c;毕业于山东理工大学&#xff1b;2. 上家公司就职于xxx,在公司主要负责系统维护&#xff0c;保证服务7*24小时稳定运行&#xff1b;3. 平常的工作有 ELK日志的收集&#xff0c; Zabbix监控报警的…

聊天信息框显示消息

聊天信息框显示消息 有趣的小案例池子&#xff1a; JS实现定时器 JS实现关闭图片窗口 JS实现输入检验 获取焦点后隐藏提示内容的输入框 JS实现获取鼠标在画布中的位置 聊天信息框显示消息 JS点击切换背景图 自动切换背景的登录页面 JS制作跟随鼠标移动的图片 JS实现记住用…

互联网金融和计算机哪个专业比较好,互联网金融专业就业方向及前景分析(解读)...

高考志愿填报如何选择专业?怎样才能选到一个好的专业?选择专业是一件非常重要的事情,我们都知道高考志愿填报最后选择的专业跟我们有着很大的关系,一般不要出现任何问题的话几乎后半生都是要靠着这个专业谋生的,所以选择一个喜欢的自己能做来的是很重要的。本文思而学教育网小…

初级会计资格-初级会计实务-知识点总结大全

会计 文章目录 会计基础会计一、会计概述&#xff08;6~8&#xff09;1.1 会计概念、职能和目标会计概念会计职能&#xff08;两个&#xff09;会计目标 1.2 会计基本假设、基础和信息质量要求&#xff08;四个&#xff09;会计基本假设&#xff08;两个&#xff09;会计基础&a…

matlab在金融工程中的应用,第八讲matlab在金融工程中的应用

第八讲matlab在金融工程中的应用 第八讲 Matlab 在金融工程中的应用,张树德 著,参考文献&#xff1a;,MATLAB金融计算与金融数据处理,北京航空航天大学出版社&#xff0c; 2008,Matlab金融工具箱模块,1. Financial Toolbox,Matlab自带金融工具箱&#xff0c;具有下列功能&…

互联网消费金融---互联网金融原理与实务【郭勤贵......等人著】的学习

1. 互联网消费金融概念&#xff1a; 互联网消费金融是“互联网消费金融”的新型金融服务模式。互联网消费金融是指银行&#xff0c;消费金融公司或者互联网企业等市场主体出资成立的非存款借贷公司以互联网技术和信息通信技术为工具&#xff0c;以满足个人或家庭对除房屋和汽车…

2021年金融科技书单推荐

在当今的社会&#xff0c;无论是学习金融还是从事金融工作都迫切需要掌握两门语言&#xff0c;一门是人与人之间交流的语言&#xff0c;比如中文、英文等&#xff1b;另一门就是人与计算机交流的语言&#xff0c;也就是计算机编程语言。面对林林总总的计算机编程语言&#xff0…

互联网金融

互联网金融 概述第一章 互联网金融概述互联网金融的定义互联网金融的业务模式互联网金融的主要特征互联网金融的产生和发展互联网金融对传统金融的影响 第二章 互联网金融原理微观层面金融功能理论与互联网金融金融创新理论和互联网金融支付理论与互联网金融 中观层面互联网金融…

python金融编程入门_python金融实务从入门到精通完整版

python金融实务从入门到精通 ├─第0章 课时 1 学员须知 素材 ├─第1章 金融人Python入门 │ ├─课时 3 – Python在金融资管领域中的应用.mp4 │ ├─课时 4 – 补充-Mac系统下安装anaconda步骤.mp4 │ ├─课时 5 – Python基础知识&#xff08;一&#xff09;.mp4 │…

python金融基础知识_python金融实务从入门到精通(23节课)

教程介绍&#xff1a; 本套python金融实务从入门到精通共23课。内容为&#xff1a;第1章金融人Python入门&#xff1b;第2章利用Python实现金融数据收集、分析与可视化&#xff1b;第3章Python爬虫实务&#xff1b;第4章 Python统计与金融实务应用。 第1章 金融人python入门 …

俄罗斯电商平台ozon的崛起,卖家可以使用测评补单方式打造爆款吗?

OZON俗称俄罗斯亚马逊&#xff0c;1998年成立&#xff0c;是俄罗斯唯一的多品类综合B2C电商平台&#xff0c;也是目前欧洲第四大电商市场。 作为俄罗斯互联网公司五强的OZON平台&#xff0c;拥有庞大的消费者群体&#xff0c;从2018年仅为480万人&#xff0c;到2021年就增长到…

2022年跨境电商卖家如何在Facebook上做广告【完整指南】

关键词&#xff1a;跨境电商卖家、Facebook广告 了解如何在 Facebook 上做广告对于大多数跨境电商卖家来说是一项非常重要的技能&#xff0c;因为您在 Facebook 上做广告&#xff0c;您的广告可以覆盖21.7 亿人——换句话说&#xff0c;接近世界人口的 30%。此外&#xff0c;该…

小爱同学自定义音色

最近小爱同学可以自定义音色了&#xff0c;但是部分童鞋机型不支持&#xff0c;怎么办呢&#xff1f;别着急&#xff0c;老衲来教你3步轻松解决。但是有个前提&#xff0c;你是小米手机。 下载一个低版本的小爱同学APP可以在此处下载&#xff1a;https://www.lanzous.com/ib5vu…

Mixly+点灯科技+小爱同学智能插座

Mixly点灯科技小爱同学智能插座 疫情了&#xff0c;时间多的很。游戏也玩累了&#xff0c;电影也没的看了。无聊至极&#xff01;得&#xff01;&#xff01;&#xff01;出来搞点事情吧。哈哈哈。 Mixly出了新版本&#xff08;正式版1.1.3&#xff09;这个版本很稳定也很好用…

小爱同学电脑版安装教程

小爱同学电脑版安装教程 安装教程注意事项使用体验电脑版小爱同学可以实现的功能 安装教程 Win10小爱同学已经上线Microsoft应用商店了&#xff0c;但有些版本的应用商店直接搜索不到&#xff0c;这里直接放链接: https://www.microsoft.com/zh-cn/p/小爱同学/9mw76kfhnz0c. …

小爱同学+8266的小爱语音台灯,基于Blinker库

“我们的动力源于对电子的热爱” 为大家详细介绍最近的语音台灯&#xff0c;不用了解各种通讯协议&#xff0c;直接调用函数&#xff0c;小白也会&#xff01; 链接&#xff1a;https://pan.baidu.com/s/12m0TMhjH7SR9DHA_pTowBg?pwdm4zf 提取码&#xff1a;m4zf 目录 想法…

AI音箱的原理,小爱同学、天猫精灵、siri。

AI音箱的原理 简单的说&#xff0c;音箱工作的时&#xff0c;麦列始终处于拾音状态&#xff08;对声音进行采样&#xff0c;量化&#xff09;。进过基本的信号处理&#xff08;静音检测、降噪等&#xff09;&#xff0c;唤醒模块会判断是否出现唤醒词&#xff0c;是的话就进行…

3736. 数学题(math)

题目大意 给定两个向量&#xff0c;求 ∣ x a ⃗ y b ⃗ ∣ |x\vec ay\vec b| ∣xa yb ∣ 最小&#xff0c; x , y x,y x,y 不同时为0。 思路 约定&#xff1a; ∣ a ⃗ ∣ < ∣ b ⃗ ∣ |\vec a| < |\vec b| ∣a ∣<∣b ∣ &#xff0c;且两个向量夹角小于 π …

Cambridge IGCSE Mathematics数学真题讲解2

考试局&#xff1a;Cambridge Assessment International Education (CAIE) 考试类别&#xff1a;Cambridge International General Certificate of Secondary Education (IGCSE) 考试科目&#xff1a;Mathematics 考试单元&#xff1a;Paper 4 (Extended) 试卷代码&#xff1a;…

计算机类大学生竞赛经验分享

如果你是作为一个科班出生的学习编程方向的一名在校大学生&#xff0c;那么如果对竞赛感兴趣&#xff0c;可以看看这篇文章 本人作为一名前端开发方向的学生&#xff0c;将自己这几年的参赛经验和比赛相关类型介绍分享给大家 首先我们要知道&#xff0c;竞赛分为三种大概的方向…