JAVA思维提升

news2024/11/23 13:43:55

利用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.coloradmin.cn/o/2194555.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

springboot网站开发-解决web前端请求的一个错误

springboot网站开发-解决web前端请求的一个错误&#xff01;近期在开发网站时&#xff0c;web页面&#xff0c;点击金币结算按钮时&#xff0c;一直报错&#xff0c;说金币余额不足。经过使用浏览器自带的js调试插件&#xff0c;一步一步跟踪调试&#xff0c;发现了原因。是漏写…

程计软题3-编译程序基本原理

(一)词法分析的工具-正规式 题1-语句找表达式 1. 排除法 对于A&#xff1a;a*取0个a&#xff0c;&#xff08;a&#xff09;*取1个a,b*取b,A例可取ab,不满足题目 对于C:取ba*取b,a*取1个a&#xff0c;&#xff08;b&#xff09;*,取ab&#xff0c;不满足题目 对于D:&#xff…

360桌面助手意见反馈

360桌面助手收纳盒和映射文件夹互转需求 现有方式 收纳盒 桌面新建收纳盒后, 可以在收纳盒内, 增加文件 映射文件夹 首先磁盘新建文件夹, 然后复制文件夹路径, 然后桌面右键, 新建映射文件夹, 把路径放进去, 实现闭合 存在的问题 收纳盒问题 桌面收纳盒过多后, 直接解散…

ArcGIS实战——一文教会你调整适合中国宝宝体质的标准地图投影参数

各位要出图的小伙伴有没有遇到一个问题&#xff0c;当我们的研究区域是中国时&#xff0c;使用常见的WGS1984投影&#xff0c;会让我们的中国地图看起来不够挺拔&#xff0c;投影使得左右的拉伸比较长&#xff0c;进而让我们的中国地图变得不够美观。就像下面这样子&#xff0c…

stable diffusion各种插件及模型、教程

stable diffusion各种插件及模型、教程 下载地址&#xff1a;https://s.tb.cn/c.0Efdko

31 基于51单片机的水位监测系统仿真

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于51单片机&#xff0c;DHT11温湿度检测&#xff0c;水位检测&#xff0c;通过LCD1602显示&#xff0c;超过阈值报警&#xff0c;继电器驱动电机转动。通过矩阵按键切换选择设置各项参数阈值。 …

手机地址IP显示不对?别急,这里有解决方案

在当今的数字化生活中&#xff0c;手机已成为我们连接世界的重要工具。而手机的IP地址&#xff0c;作为我们在网络上的“身份证”&#xff0c;其准确性对于网络体验至关重要。然而&#xff0c;有时我们可能会遇到手机IP地址显示不正确的问题&#xff0c;这不仅会影响网络连接质…

《数据结构》学习系列——树

系列文章目录 目录 树的基本概念树的定义树的特点树的相关术语度层数高度路径二叉树定义特点定理满二叉树定义特点完全二叉树定义特点二叉树的存储结构顺序存储结点结构优点缺点 链式存储 结点结构三叉链表表示法算法搜索结点的父结点搜索符合数据域条件的结点删除给定结点及其…

【Python】物流行业数据分析与可视化案例

一&#xff0c;前言 在本文中&#xff0c;我将使用python语言基于Jupyter notebook对这一份物流行业数据集进行多维度数据分析&#xff0c;文章内容参考自b站马士兵《数据分析五大经典实战项目》教学视频&#xff0c;并对其中一些操作做出优化。 数据集下载地址&#xff1a;物流…

数组与集合的应用-数组演练

1、获取一维数组最小值 1.1 实例说明 一维数组常用于保存线性数据&#xff0c;例如数据库中的单行数据就可以使用一维数组保存。本实例接收用户在文本框中输入的单行数据&#xff0c;其中数据都是整数数字&#xff0c;以不同数量的空格分割数字&#xff0c;如图1所示。这个先行…

【英语】5. 作文的高级表达

文章目录 前言一、作用二、主干内容三、使用步骤总结参考文献 前言 高中时总结的[1]&#xff0c;现在接着用 一、作用 在各种考试的作文中使用&#xff0c;减少过于直白、没有 “文采” 的表达 二、主干内容 file:///C/Users/[username]/Desktop/Engs.txt[2023/6/15 23:47:4…

一些关于PID双闭环控制的思考

最近搭建了一个LCL型滤波器的三相逆变器&#xff0c;使用了双闭环控制&#xff0c;但是查到了几种不同的控制策略&#xff0c;比如外环可以是输出电压&#xff0c;也可以是输出电流&#xff0c;内环可以是三相桥侧电感&#xff0c;也可以是电容电流&#xff0c;而不管哪种内外环…

利士策分享,旅游是否要舟车劳顿才能尽兴?

利士策分享&#xff0c;旅游是否要舟车劳顿才能尽兴&#xff1f; 国庆假期&#xff0c;当夜幕降临&#xff0c;城市灯火阑珊&#xff0c;一场关于美食与等待的较量悄然上演。 李女士在北京天坛公园附近餐厅的等位经历——前方1053桌的壮观景象&#xff0c;不仅让人咋舌&#xf…

OpenAI预计明年将推出“代理”系统

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

Kubernetes系列之一快速部署一套K8s集群(kubeadm方式)

最近本人在重温云原生相关的技术&#xff0c;说到云原生&#xff0c;必然绕不开Kubernetes&#xff0c;今天想跟大家聊的就是大名顶顶的Kubernetes。相信很多朋友在学习和使用Kubernetes的过程遇到各式各样不同的问题。我将从一个初学者的角度来给大家讲解一下Kubernete从安装、…

1006每日一题

2 https://leetcode.cn/problems/maximize-the-topmost-element-after-k-moves/ 如果真的是堆的话&#xff0c;没有任何思路 如果是栈的话&#xff0c;先去找最大值所在的索引m&#xff0c;判断与k的关系 如果m>k&#xff0c;说明删k个也无法到当前的最大值或者到了也没法再…

分享7款AI学术论文生成器!一键实现论文生成器chat在线生成

在当今的学术研究和写作领域&#xff0c;AI论文写作工具的出现极大地提高了写作效率和质量。这些工具不仅能够帮助研究人员快速生成论文草稿&#xff0c;还能进行内容优化、查重和排版等操作。以下是七款值得推荐的AI学术论文生成器&#xff0c;它们通过一键生成的方式&#xf…

2024年4款PDF编辑工具分享,一起来看看

在日常的工作和生活中&#xff0c;PDF文档可以说是无处不在。它们既方便又稳定&#xff0c;但有时候&#xff0c;我们总需要对这些PDF文档进行一些修改或编辑。今天&#xff0c;我就从一个普通人的角度&#xff0c;来聊聊我用过的几款PDF编辑器在编辑PDF文档时的表现如何。 一、…

python写的window小工具-一键设置ip自动获取ip

最近有个需求,笔记本在公司上网需要设置固定ip&#xff0c;拿回家之后又要设置自动获取ip&#xff0c;有些美女同事根本就不知道怎么设置&#xff0c;所以我打算开发一个一键设置的小软件供大家使用。 但是不会c&#xff0c;也不会c#&#xff0c;更加不会vb&#xff0c;不可能…

东方仙盟——软件终端架构思维———未来之窗行业应用跨平台架构

一、创生.前世今生 在当今的数字化时代&#xff0c;我们的服务覆盖全球&#xff0c;拥有数亿客户。然而&#xff0c;这庞大的用户规模也带来了巨大的挑战。安全问题至关重要&#xff0c;任何一处的漏洞都可能引发严重的数据泄露危机。网络带宽时刻面临考验&#xff0c;稍有不足…