JAVA思维提升

server/2024/10/10 18:42:33/

利用java做一个双色球彩票系统

要求

java">package ZY;
import java.util.Random;
import java.util.Scanner;
public class Test9双色球 {
//目标:模拟双色球//规则投注号码由6个红色球号码和1个蓝色球号码组成。红色球号码从1-33中选择;蓝色球号码从1-16中选择。public static void main(String[] args) {//定义一个数组接受输入数字产生的数组int num[]= numbers();System.out.println("您的号码是");pr(num);//定义一个数组接受随机数字产生的数组int num2[] = createNumbers();System.out.println("中奖号码是");pr(num2);//调用中将判断的情况userNumbers(num,num2);//传入客户猜的数字的数组和系统答案的数组}public static void pr(int[] num) {System.out.print("[");for (int i = 0; i < num.length; i++) {System.out.print(i<num.length-1?num[i] + ", ":num[i]);}System.out.println("]");}//第一步:业务分析、用户投注一组号码//1.1、 设计一个方法,用于让用户投注一组号码并返回(前6个是红球号码,最后1个是蓝球号码 )public static int[] numbers() {//1.2、创建一个整型数组,用于存储用户投注的7个号码(前6个是红球号码,最后1个是蓝球号码)int number [] = new int[7];Scanner Y = new Scanner(System.in);// 1.3、遍历前6个位置,让用户依次投注6个红球号码,存入for (int i = 0; i < number.length-1; i++) {//-1是因为最后一位要去存储蓝球while (true) {//放到死循环里面,让他每次都去执行判断//1. 4、开始让用户为当前位置投注一个红球号码(1-33之间,不能重复)System.out.println("请输入第"+(i+1)+"个红球号码(1-33之间)");int num = Y.nextInt();//1.5、先判断用户输入的红球号码是否在1-33之间if (num<1||num>33) {System.out.println("对不起,您输入的红球号码不在1-33之间,请确认!");}//1.6通过上面的if判断了号码是在1-33之间了,接着还要继续判断这个号码是否重复,不重复才可以使用else {//1.6、 定义一个方法来判断是不死与前面输入的号码重复了if ( exist(number,num))//传入数组和输入的数字,返回的是布尔类型,再利用if进行判断{//当返回的是true的时候是重复了System.out.println("对不起,您当前输入的红球号码前面选择过,重复了,请确认!");}else {//此时没重复可以放进数组了number[i]=num;//遍历下标放进数组里面break;//录入成功后,结束死循环}}}}//1.7、投注最后一个蓝球号码while (true)//设置一个死循环,里层也惊醒判断和输出{System.out.println("请您输入最后1个蓝球号码(1-16):");int num = Y.nextInt();//判断是否在蓝球号码的范围里面if (num<1||num>16) {System.out.println("对不起,您输入的蓝球号码范围不对!");}else {//在范围里面直接把号码放进数组的最后一位number[6] = num;break;//录入成功后,结束死循环}}return number;}//创建一个返回布尔类型对数据进行判断是否重复的方法private static boolean exist(int[] number, int num) {for (int i = 0; i < number.length; i++) {if (number[i]==num) {return true;//此时就是重复}}return false;//没有重复的时候返回的代码}
//第二步:随机生成一组中奖号码//2.1、 设计一个方法,随机产生一组号码并返回(前6个是红球号码,最后1个是蓝球号码 )(利用函数组返回)public  static int[] createNumbers(){//2.2、定义一个空数组接受随机数int num2[] = new int[7];Random Q = new Random();for (int i = 0; i < num2.length-1; i++) {//-1是因为最后一位要去存储蓝球//每次遍历产生一个随机数int num = Q.nextInt(33)+1;//这种形式值从1-33都取闭区间//2.3、判断是否与前面的重复,同样需要放进一个死循环中一直执行while (true){if (!exist(num2,num))//此处!exist的意思是因为如果没有重复则false,!false就是true则可以执行后面的代码{num2[i]=num;break;//录入成功后,结束死循环}}}//2.4、产生最后一个蓝球号码int num3 = Q.nextInt(16)+1;//这种形式值从1-16都取闭区间num2[6]=num3;return num2;}
//第三步:判断中奖情况//3.1定义一个进行判断中奖情况的方法public static void  userNumbers(int number1[],int number2[]){//3.2、定义两个变量来接受红球猜中了几个,蓝球猜中了几个int red = 0;int bule = 0;//3.3、需要定义两个循环进行嵌套for (int i = 0; i < number1.length-1; i++) {//-1是因为最后一位要去存储蓝球for (int j = i+1; j < number2.length-1; j++) {if (number1[i]==number2[j]) {//拿外部用户输入的第一个数字对系统产生的数字挨个进行判断是否相等red++;break;//跳出内部的for循环}}}bule = number1[6] == number2[6] ? 1 : 0;//3.4、利用三元判断进行判断最后一个蓝球是不是相等System.out.println("您命中的红球数量是:"+red);System.out.println("您命中的蓝球数量是:"+bule);//3.5、进行判断奖金和中奖情况if (red==6&&bule==1){System.out.println("恭喜您,中奖1000万,可以开始享受人生了~~~");} else if (red==6&&bule==0) {System.out.println("恭喜您,中奖500万,可以稍微开始享受人生了~~~");} else if (red==5&&bule==1) {System.out.println("恭喜您,中奖3000元,可以出去吃顿小龙虾了~");} else if (red==5&&bule==0||red==4&&bule==1) {System.out.println("恭喜您,中了小奖:200元~");} else if (red==4&&bule==0||red==3&&bule==1) {System.out.println("中了10元~");} else if (red<3&&bule==1) {System.out.println("中了5元~~");}else {System.out.println("感谢您对福利事业做出的巨大贡献~~~");}}
}

 


http://www.ppmy.cn/server/129737.html

相关文章

【React】事件机制

事件机制 react 基于浏览器的事件机制自身实现了一套事件机制&#xff0c;称为合成事件。比如&#xff1a;onclick -> onClick 获取原生事件&#xff1a;e.nativeEvent onClick 并不会将事件代理函数绑定到真实的 DOM节点上&#xff0c;而是将所有的事件绑定到结构的最外层…

【瑞昱RTL8763E】音频

1 音乐播放控制 1.1 播放列表更新 文件系统在sd卡中保存header.bin及name.bin两份文件用于歌曲名称的存储。为方便应用层进行歌曲显示及列表管理&#xff0c;可将这两个bin文件信息读取并保存到nor flash中。需要播放指定名称的歌曲时&#xff0c;将对于歌曲名称传递给文件系…

Go版数据结构 -【8.4 快速排序】

8.4 快速排序 快速排序是一种分而治之的排序算法。它通过随机选择一个基准元素&#xff0c;将数组分为两部分。 一部分比基准元素小&#xff0c;另一部分比基准元素大&#xff0c;之后对两部分排序。 快速排序以其平均情况下的 O(n log n) 时间复杂度和良好的性能而广泛应用…

小程序 uniapp+Android+hbuilderx体育场地预约管理系统的设计与实现

目录 项目介绍支持以下技术栈&#xff1a;具体实现截图HBuilderXuniappmysql数据库与主流编程语言java类核心代码部分展示登录的业务流程的顺序是&#xff1a;数据库设计性能分析操作可行性技术可行性系统安全性数据完整性软件测试详细视频演示源码获取方式 项目介绍 用户 注册…

linux 端口 进程

文章目录 1. 检查端口是否被监听1. 使用 netstat 命令2. 使用 ss 命令3. 使用 lsof 命令4. 使用 curl 命令5. 使用 telnet 命令6. 查看Python程序输出示例输出总结 2.查看端口被哪个进程占用1. 使用 lsof 命令2. 使用 netstat 命令3. 使用 ss 命令示例输出总结 3.查看进程在哪个…

自动驾驶系统研发系列—如何选择适合自动驾驶的激光雷达?从基础到高端全解读

&#x1f31f;&#x1f31f; 欢迎来到我的技术小筑&#xff0c;一个专为技术探索者打造的交流空间。在这里&#xff0c;我们不仅分享代码的智慧&#xff0c;还探讨技术的深度与广度。无论您是资深开发者还是技术新手&#xff0c;这里都有一片属于您的天空。让我们在知识的海洋中…

[Python] 《人生重开模拟器》游戏实现

文章目录 优化点一&#xff1a;多元化的天赋系统示例天赋&#xff1a;天赋选择代码&#xff1a; 优化点二&#xff1a;更加多样化的随机事件年龄阶段划分&#xff1a;随机事件代码&#xff1a; 优化点三&#xff1a;设定人生目标人生目标示例&#xff1a;人生目标代码&#xff…

基于微信小程序的像素画创作与分享平台设计与实现

目录 1 系统概要说明 5 2 小程序设计 5 2.1 通用样式模块 5 2.2 通用方法模块 5 2.2.1 用户登录校验拦截器方法 5 2.2.2 登录方法 6 2.2.3 注册方法 7 2.2.4 登出方法 7 2.2.5 自动登录功能 8 2.3 像素画画板模块 8 2.3.1 画板坐标系 8 2.3.2 画板的生成 9 2.3.3 颜色的选择 9 …