java编写一个彩票开奖的模拟程序.游戏共有两种玩法,一种是21选5,即玩家输入5个1到21内的不重复的数。另外一种玩法是6+1玩法,即要求玩家输入7个整数,代表所购买的彩票号码,最后一个是特码。

java编写一个彩票开奖的模拟程序.游戏共有两种玩法,一种是21选5,即玩家输入5个1到21内的不重复的数。另外一种玩法是6+1玩法,即要求玩家输入7个整数,代表所购买的彩票号码,最后一个是特码。

具体代码如下:

package p3;import java.io.*;
import java.util.Random;
import java.util.StringTokenizer;
public class Lottery 
{public static void main(String[] args) {// TODO Auto-generated method stubint playtimes=0;try {if(args.length==1)playtimes=Integer.parseInt(args[0]);else playtimes=1;} catch (NumberFormatException e) {// TODO: handle exceptionSystem.out.println(e);}while(playtimes>0){int choice=init();switch(choice){case 1:int [] numbers_1=new int[5];input_1(numbers_1);check_1(numbers_1);break;case 2:int [] numbers_2=new int[7];input_2(numbers_2);check_2(numbers_2);}playtimes--;}}static int init(){boolean InputLoopflag=true;int n=0;System.out.println("请按数字键1或2选择一种玩法:21选5,或者6+1");InputStreamReader ir;BufferedReader in;String s=new String();try {ir=new InputStreamReader(System.in);in=new BufferedReader(ir);while(InputLoopflag){s=in.readLine();try {n=Integer.parseInt(s);if(n!=1&&n!=2)	{System.out.println("输入错误!请重试:");continue;}InputLoopflag=false;} catch (NumberFormatException e) {// TODO: handle exceptionSystem.out.println("非数字!请重试:");continue;}}} catch (IOException e) {// TODO: handle exceptionSystem.out.println(e);}return n;}static void input_1(int [] numbers_1){System.out.println("请输入"+numbers_1.length+"个数(这"+numbers_1.length+"个数必须互不相同,且在1-21之间):");boolean InputLoopflag=true;StringTokenizer st;InputStreamReader ir;BufferedReader in;String s=new String();try{ir=new InputStreamReader(System.in);in=new BufferedReader(ir);L1:while(InputLoopflag){s=in.readLine();st=new StringTokenizer(s);int count=st.countTokens();if(count!=numbers_1.length){System.out.println("只能输"+numbers_1.length+"个!请重试:");continue;}try {for (int i = 0; i < numbers_1.length; i++) {numbers_1[i]=Integer.parseInt(st.nextToken());for (int j = 0; j < i; j++) if(numbers_1[i]==numbers_1[j]){System.out.println(numbers_1.length+"个数必须互不相同!请重试:");continue L1;}}for (int i = 0; i < numbers_1.length; i++) if(numbers_1[i]<1||numbers_1[i]>21){System.out.println(numbers_1.length+"个数必须在1-21之间!请重试");continue L1;}} catch (NumberFormatException e) {// TODO: handle exceptionSystem.out.println("非数字!请重试:");continue;}InputLoopflag=false;}} catch (IOException e) {// TODO: handle exceptionSystem.out.println(e);}}static void input_2(int [] numbers_2){System.out.println("请连续输入"+numbers_2.length+"个位数(代表购买彩票的号码,最后一位为特等号):");boolean b=true;InputStreamReader ir;BufferedReader in;String s=new String();try {ir=new InputStreamReader(System.in);in=new BufferedReader(ir);L2:while(b){s=in.readLine();if(s.length()!=numbers_2.length){System.out.println("只能输"+numbers_2.length+"位!请重试:");continue;}for (int i = 0; i < numbers_2.length; i++) numbers_2[i]=s.charAt(i)-48;for (int i = 0; i < numbers_2.length; i++)if(numbers_2[i]<0||numbers_2[i]>9){System.out.println("只能输入数字!请重试:");continue L2;}b=false;}} catch (IOException e) {// TODO: handle exceptionSystem.out.println(e);}}static void check_1(int [] numbers){System.out.println("\n21选5的规则是:\n一等奖:5个号码相同;\n二等奖:四个号码相同;\n三等奖:三个号码相同。\n");int [] award=new int[5];Random ran=new Random();L3:for (int i = 0; i < award.length; i++) {award[i]=Math.abs(ran.nextInt())%21+1;for (int j = 0; j <i; j++) if(award[j]==award[i]){i--;continue L3;}}int same=0;L4:for (int i = 0; i <numbers.length; i++) for(int j=0;j<award.length;j++)if(numbers[i]==award[j]){same++;continue L4;}switch(same){case 5:System.out.println("恭喜你!你中了一等奖500000元!");break;case 4:System.out.println("恭喜你!你中了二等奖4000");break;case 3:System.out.println("恭喜你!你中了三等奖3000");break;default:System.out.println("很遗憾,你没有中奖,祝你下次好运.");}System.out.println("随机产生的号码是:");for (int i = 0; i < award.length;i++)System.out.print(award[i]+" ");System.out.print("\n你选的号码是      :");for (int i = 0; i < numbers.length; i++)System.out.print(numbers[i]+"  ");System.out.println("\n");			}static void check_2(int [] numbers){System.out.println("\n6+1的规则是:");System.out.println("特等奖:6+1位数都相同;\n"+"一等奖:6位数都相同;\n"+"二等奖:连续6位数相同;\n"+"三等奖:连续4位数相同;\n"+"四等奖:连续3位数相同.\n");int [] award=new int[7];int i;Random ran=new Random();for (i= 0; i < award.length; i++) award[i]=Math.abs(ran.nextInt())%10;for(i=0;i<award.length-1;i++)if(award[i]!=numbers[i]) break;if(i==6){if(award[i]==numbers[i])System.out.println("恭喜你!你中了特等奖,奖金5000000!!!!");else System.out.println("恭喜你!你中了一等奖,奖金500000!!!");System.out.print("随机产生的号码是:");for (i= 0; i< award.length; i++)System.out.print(award[i]);System.out.print("\n 你选的号码是:");for (i = 0; i <numbers.length; i++)System.out.print(numbers[i]);return;}int same1=0,same2=0;for (i = 0;  i< award.length-1; i++) {if(award[i]==numbers[i])same1++;else{if(same1>same2)same2=same1;same1=0;}}int same=same1>same2?same1:same2;switch(same){case 5:System.out.println("恭喜你!你中了二等奖50000元!");break;case 4:System.out.println("恭喜你!你中了三等奖5000");break;case 3:System.out.println("恭喜你!你中了三等奖500");break;default:System.out.println("很遗憾,你没有中奖,祝你下次好运.");}System.out.println("随机产生的中奖号码是:");for (i = 0; i < award.length; i++) System.out.print(award[i]);System.out.print("\n你选的号码是          :");for (i = 0; i < award.length; i++) System.out.print(numbers[i]);System.out.println("\n");}}

运行截图:
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

Vue实现福利彩票机选号码,彩票号码生成思路

彩票号码机选生成思路与实现 概述1、基本变量准备2、随机数生成方法3、生成红区数组号码4、对生成的数组进行排序 检验数据生成效果页面显示效果 概述 今天看了彩票开奖&#xff0c;想到买彩票时有自选和机选两种&#xff0c;于是想了一想彩票号码的生成思路&#xff0c;觉得有…

微信小程序彩票号码生成器

彩票号码生成器 一、案例说明 设计一个小程序&#xff0c;生成一注7个彩票号码(1-31)&#xff0c;并在圆形图标上显示&#xff0c;加上一个按钮&#xff0c;每点一次重新生成&#xff0c;同时生成不同的颜色圆形图标。 二、案例代码 1&#xff09;index.wxml文件 <!--ind…

模拟彩票摇号的小游戏(31选7)

规则&#xff1a;机选7个数 要求&#xff1a;7个数不能重复&#xff1b;7个数的取值区间1~31之间&#xff1b;7个数都是随机生成的 用户选7个数 要求&#xff1a;7个数不能重复&#xff1b;7个数的取值区间1~31之间&#xff1b; 7个数都是用户输入的…

最近很多人都在说 “前端已死”,讲讲我的看法

现状 我记得去年脉脉的论调还都是 客户端已死&#xff0c;前后端还都是一片祥和&#xff0c;有秀工资的&#xff0c;有咨询客户端转前端的&#xff0c;怎么最近打开脉脉一看&#xff0c;风向变了&#xff1f; 随便刷几下&#xff0c;出来的信息都是 前端已死&#xff0c;这种…

电商购物核心功能测试点

这份是根据电商中所涉及的业务点整理出的核心功能测试点&#xff0c;更多的偏向于功能性的测试。其后所涉及到的性能测试、压力测试、集成测试等&#xff0c;会在进一步分析&#xff0c;作为一名产品经理应该了解到这部分知识点。

电商平台商品详情接口的应用场景

API接口的定义 价格、库存量、发货地点等。此外&#xff0c;它还可以提供商品的详细信息&#xff0c;包括商品的图片、详细描述、规格参数、售后服务等。这些信息可以帮助用户更好地了解商品&#xff0c;从而更好地选择商品。 其次&#xff0c;电商平台商品详情接口的实现原理是…

电商客户个性化体验指南

告别通用、一刀切的客户体验&#xff0c;迎接个性化的体验&#xff0c;这将给您的客户和您的底线留下持久的印象。如今&#xff0c;公司利用来自多种来源的数据为其客户创造高度个性化的体验&#xff0c;并在竞争中脱颖而出,随着公司采用营销自动化和CRM系统等新技术&#xff0…

chatgpt赋能python:Python在安卓游戏开发中的应用

Python在安卓游戏开发中的应用 越来越多的游戏开发者开始使用Python语言&#xff0c;特别是在安卓游戏开发领域。Python的简单易学、高效实用、具有良好的跨平台性等优势&#xff0c;使得它成为安卓游戏开发的明星。本文旨在介绍Python在安卓游戏开发中的应用及其优势。 Pyth…

位置预测系列(三)

What’s Your Next Move: User Activity Prediction in Location-based Social Networks 这篇文章来自于SDM’13年&#xff08;SIAM InternationalConference on Data Mining 2013&#xff09;的录用论文集&#xff0c;是关于在基于位置社交网络里面&#xff08;LBSN&#xff…

Python抓取彩票排列3全部历史数据

python爬虫好久没用都生疏了&#xff0c;刚好朋友要排列三数据&#xff0c;就用这个练手&#xff0c; 去体彩官网http://www.lottery.gov.cn/historykj/history.jspx?_ltypepls 不闲聊&#xff0c;直接上代码 import requests from requests.exceptions import RequestExcept…

使用VBA对彩票进行分析-3D-排列3-排列5

Sub 按钮1_Click() Dim wb As Workbook Dim sht As Worksheet, sht1 As Worksheet Dim arr Dim dic As Object Application.ScreenUpdating False Set sht1 ThisWorkbook.Sheets("排五遗漏数据") For j 3 To 15 Step 3sht1.Range(sht1.Cells(2, j - 1), sht1.Cell…

python爬取彩票排列三开奖结果

import gzip import re from urllib import requestimport xlwt from bs4 import BeautifulSoup# 参数说明&#xff1a; # period: 开奖期数 # redo_num: 重试次数&#xff0c;默认是0&#xff0c;每错误一次回调时会1&#xff0c;默认就好 # max&#xff1a;最大重试次数…

java 日语文档翻译_日语文档怎么翻译?我来教会你日语翻译

小编是一个资深日漫迷&#xff0c;但是每次去看完日漫电影都觉得结尾留有遗憾。其实有很多日漫电影的内容都被修改了。为了能看到原版的日漫内容&#xff0c;小编终于从网上找到了一些有关原版日漫故事情节的文档。可是全都是日语&#xff0c;我一句都看不懂。日语文档怎么翻译…

从NLP视角看电视剧《狂飙》,会有什么发现?

文章目录 1、背景2、数据获取3、文本分析与可视化3.1 短评数据预处理3.2 词云图可视化3.3 top关键词共现矩阵网络3.4 《狂飙》演职员图谱构建 4、短评相关数据分析与可视化5、总结 原文请关注&#xff1a;实用自然语言处理 作者&#xff1a;风兮 建议查看原文&#xff1a; ht…

【CV】第 9 章:图像分割

&#x1f50e;大家好&#xff0c;我是Sonhhxg_柒&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f4dd;个人主页&#xff0d;Sonhhxg_柒的博客_CSDN博客 &#x1f4c3; &#x1f381;欢迎各位→点赞…

分镜头脚本表格模板下载

打算做一个从 0-1 创作短视频的系列教程&#xff0c;前几期已经发在微信视频号创造营上。 第一课&#xff1a;五个实用的视频拍摄技巧&#xff1a; 总结为&#xff1a;加速、减速、遮罩转场、利用前景和航拍&#xff0c;可以让你的视频更好看。 今天分享第二课&#xff1a;如何…

chatgpt赋能python:用Python编写AI:从入门到精通

用Python编写AI&#xff1a;从入门到精通 人工智能&#xff08;AI&#xff09;一直是计算机科学领域的热门话题。随着AI技术的成熟&#xff0c;越来越多的公司开始在其业务中应用AI。Python是机器学习和人工智能领域最流行的编程语言之一&#xff0c;Python提供了众多强大的库…

chatgpt赋能python:Python滑动窗口算法详解

Python滑动窗口算法详解 滑动窗口算法是一种常用的算法&#xff0c;常被用于处理一些队列、数组和字符串等相关的问题。在Python编程中&#xff0c;滑动窗口算法的运用场合非常广泛&#xff0c;因此熟练掌握Python滑动窗口算法是每个Python工程师必备的技能之一。 滑动窗口算…

实现微信公众号发送消息给指定用户

一、前言 在实际项目开发中&#xff0c;需要实现消息中心向关注微信公众号的指定用户发送消息通知&#xff0c;在翻阅了网上很多资料及微信官方开发文档后&#xff0c;最终顺利完成功能开发&#xff0c;但是其中走过的路艰辛且曲折&#xff0c;因此特将开发过程中踩过的坑及心…

【uiautomation】微信群发消息,可发送文本 文件

前言 接到了一个需求&#xff1a;现微信有8000好友&#xff0c;需要给所有好友发送一则一样的消息。网上搜索一番后&#xff0c;发现uiautomation 可以解决该需求&#xff0c;遂有此文。这是第二篇&#xff0c;群发消息给微信好友 代码在文章末尾&#xff0c;自取~ 更多功能的微…