• 45.【Java 实现双色球中奖查询系统】


    (一)、双色球中奖规则:

    在这里插入图片描述

    双色球的中奖规则如下:
    1、双色球总共有7个号码,6红1蓝,只要全部买中就会中一等奖(1000万)。
    2、只要任意买中6个红球,就会中二等奖(500万)。
    3、只要6个球中任意中5个红球+1个蓝球,就会中三等奖(3000元)。
    4、只要6个球中任意选中5个红球,或者任意选中4个红球+1个蓝球,就会中四等奖(200元)。
    5、只要6个球中任意选中4个红球,或者任意中3个红球+1个蓝球,就会中五等奖(10元)。
    6、只要6个球中任意选中2个红球+1个蓝球,或者1个红球+1个蓝球,或者1个蓝球,都可以中六等奖(5元)。
    总的来说,双色球中有7个号码,6红1蓝,只要6+1、6+0、5+1、5+0或4+1、4+0或3+1、2+1或1+1或0+1都是可以中奖的,只是中奖的金额不同。

    (二)、分布操作:

    第一步:(去重)

    进行中奖设置,首先我们要用系统随机生成一个7位数的中奖号码,且中奖号码红色的球(前六位不能重复1 ~ 36),蓝色的球可以重复(1~16).
    调用随机函数(Random):

    import java.util.Random;     //导包
    
    Random r=new Random();      //声明
    
    int idex=r.nextInt();       //引用
    
    • 1
    • 2
    • 3
    • 4
    • 5

    设置第一个方法: judgeRead(){}目的是为了去掉奖项中的重复数字

     public static boolean judgeRead(int number[],int readidex)      //判断是否有重复
    	 {
    		 for(int i=0;i<number.length-1;i++)
    		 {
    //number[]中奖数值,右边是随机值,假如说随机值和中奖值重复返回true否则false	 
    			 if(number[i]==readidex)   
    			 {
    				 return true;
    			 }
    		 }
    		 return false;	 
    	 }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    第二步:(获奖数)

    设置第二个方法: Creatnumber(){}目的是为了创建中奖号码

    	 public static int[] creatNumber()    //创建中奖号码
    	 {
    		 int number[]=new int[7];   //设置空数组
    		 Random r=new Random();   //引用随机
    		 for(int i=0;i<number.length-1;)   //判断红球,并去重
    		 {
    			 int readIdex=r.nextInt(36)+1;   //设定随机范围1~36
    			 boolean flag=judgeRead(number,readIdex); //判断是否与数字重复
    			 if(!flag)   //假如说不相同进入体内
    			 {
    				 number[i]=readIdex;    //把不相同的数值给数组
    				 System.out.print(number[i]+" "); //输出
    				 i++;     //然后进行++操作
    			 }
    		 }
    		 int blueNumber=r.nextInt(16)+1;    //设定篮球范围 1~16
    		 number[number.length-1]=blueNumber;   //赋值给最后一个数
    		 System.out.print( number[number.length-1]+" ");  //输出
    		 return number;  //返回数组
    	 }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    第三步:(用户信息)

    设置第三个方法:usernumber(){}目的是为得到用户的信息

     public static int[] userInputNumber()         //  用户输入自己的号码
    	 {
    		 int user_number[]=new int[7];    //设置7个空间
    		 Scanner sc=new Scanner(System.in);
    		 Random r=new Random();
    		 System.out.println("请您输入您的红色号码:");
    		 for(int i=0;i<user_number.length-1;)
    		 {
    			System.out.print("请输入"+(i+1)+"个球:");
    			int readnumber=sc.nextInt();
    			if(readnumber>=1&&readnumber<=36)   //红球范围
    			{
    				boolean flag=judgeRead(user_number,readnumber);  //去重
    				if(!flag)  //假如说不同
    				{
    					user_number[i]=readnumber;   //红球给数组
    					i++;
    				}
    				else   //否则重新输入
    				{
    					System.out.println("当前号码以重复,请重新输入:");
    				 }
    			}
    			else   //否则重新输入
    			{
    				System.out.println("当前号码超出范围,请重新输入:");
    			}
    		 }
    		 while(true)  //蓝色球 范围
    		 {
    		 System.out.print("请输入蓝球号码:");
    		 int bluenumber=sc.nextInt();
    		 if(bluenumber>1&&bluenumber<16)
    		 {
    			 user_number[user_number.length-1]=bluenumber;  //在范围内赋值
    			 break;   //直接退出
    		 }
    		 else  //如果超出范围重新输入
    		 {
    			 System.out.println("您输入的数字超出范围,请重新输入:");
    		 }
    		 }
    		 return user_number;    //返回用户的信息
    	 }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44

    第四步: 中的红球和蓝球个数

    设置第四个方法:目的是为了得到红球蓝球的个数

    public static void judgeball()         //判断中奖的球数
    	{
    		System.out.println("随机生成的中奖号码是:");
    	 	int arr[]=creatNumber();   //复制
    		System.out.println("");
    		System.out.println("\n\n进入用户数页面:\n");
    		int userarr[]=userInputNumber();   //复制
    		for(int i=0;i<userarr.length-1;i++)
    		{
    			for(int j=0;j<arr.length-1;j++)
    			{
    				if(userarr[i]==arr[j])  //假如说红球相同 +1
    				{
    					count++;
    					break;
    				}
    			}
    		}
    		if(arr[6]==userarr[6])  假如说蓝球相同  +1
    		{
    			count1++;
    		}
    		System.out.println("红球中:"+count+"个,蓝球中:"+count1+"个");
    		//打印输出
    	}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    第五步:计算中奖金额:

    调用第五个方法: judgeWard(){}目的是为了中奖金钱

    public static void judgeWard()   //判断能得到多少钱?
    	{
    		switch(count)
    		{
    		case 0: 
    		case 1: if(count1==1) {System.out.println("获得5元奖励");} else {System.out.println("很抱歉,没中奖!");}break;
    		case 2:if(count1==1) {System.out.println("获得10元奖励");} else {System.out.println("很抱歉,没中奖!");}break;
    		case 3:if(count1==1) {System.out.println("获得10元奖励");} else {System.out.println("很抱歉,没中奖!");}break;
    		case 4:if(count1==0) {System.out.println("获得10元奖励");} else{System.out.println("获得200元奖励");}break;
    		case 5:if(count1==0) {System.out.println("获得200元奖励");} else{System.out.println("获得3000元奖励");}break;
    		case 6:if(count1==0) {System.out.println("获得500万元奖励");} else{System.out.println("获得1000万元奖励");}break;
    		}		
    	}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    第六步:导入主函数:

    调用第六个方法:主函数

    	public static void main(String []avgs)
     { 
    		 judgeball();
    		 judgeWard();
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    (三)、整体代码展示:

    package test;  //  包名
    import java.util.Random;
    import java.util.Scanner;
     public class test1 {     //项目名
    	 static int count=0,count1=0;
    	 public static int[] creatNumber()    //创建中奖号码
    	 {
    		 int number[]=new int[7];   //创建中奖数组
    		 Random r=new Random();
    		 for(int i=0;i<number.length-1;)
    		 {
    			 int readIdex=r.nextInt(36)+1;
    			 boolean flag=judgeRead(number,readIdex);
    			 if(!flag)
    			 {
    				 number[i]=readIdex;
    				 System.out.print(number[i]+" ");
    				 i++;
    			 }
    		 }
    		 int blueNumber=r.nextInt(16)+1;
    		 number[number.length-1]=blueNumber;
    		 System.out.print( number[number.length-1]+" ");
    		 return number;
    	 }
    	 public static boolean judgeRead(int number[],int readidex)      //判断是否有重复
    	 {
    		 for(int i=0;i<number.length-1;i++)
    		 {
    			 if(number[i]==readidex)
    			 {
    				 return true;
    			 }
    		 }
    		 return false;	 
    	 }
    	 public static int[] userInputNumber()         //  用户输入自己的号码
    	 {
    		 int user_number[]=new int[7];
    		 Scanner sc=new Scanner(System.in);
    		 Random r=new Random();
    		 System.out.println("请您输入您的红色号码:");
    		 for(int i=0;i<user_number.length-1;)
    		 {
    			System.out.print("请输入"+(i+1)+"个球:");
    			int readnumber=sc.nextInt();
    			if(readnumber>=1&&readnumber<=36)
    			{
    				boolean flag=judgeRead(user_number,readnumber);
    				if(!flag)
    				{
    					user_number[i]=readnumber;
    					i++;
    				}
    				else
    				{
    					System.out.println("当前号码以重复,请重新输入:");
    				 }
    			}
    			else
    			{
    				System.out.println("当前号码超出范围,请重新输入:");
    			}
    		 }
    		 while(true)
    		 {
    		 System.out.print("请输入蓝球号码:");
    		 int bluenumber=sc.nextInt();
    		 if(bluenumber>1&&bluenumber<16)
    		 {
    			 user_number[user_number.length-1]=bluenumber;
    			 break;
    		 }
    		 else
    		 {
    			 System.out.println("您输入的数字超出范围,请重新输入:");
    		 }
    		 }
    		 return user_number;
    	 }
    	public static void judgeball()         //判断中奖的球数
    	{
    		System.out.println("随机生成的中奖号码是:");
    	 	int arr[]=creatNumber();
    		System.out.println("");
    		System.out.println("\n\n进入用户数页面:\n");
    		int userarr[]=userInputNumber();
    		for(int i=0;i<userarr.length-1;i++)
    		{
    			for(int j=0;j<arr.length-1;j++)
    			{
    				if(userarr[i]==arr[j])
    				{
    					count++;
    					break;
    				}
    			}
    		}
    		if(arr[6]==userarr[6])
    		{
    			count1++;
    		}
    		System.out.println("红球中:"+count+"个,蓝球中:"+count1+"个");
    		
    	}
    	public static void judgeWard()   //判断能得到多少钱?
    	{
    		switch(count)
    		{
    		case 0: 
    		case 1: if(count1==1) {System.out.println("获得5元奖励");} else {System.out.println("很抱歉,没中奖!");}break;
    		case 2:if(count1==1) {System.out.println("获得10元奖励");} else {System.out.println("很抱歉,没中奖!");}break;
    		case 3:if(count1==1) {System.out.println("获得10元奖励");} else {System.out.println("很抱歉,没中奖!");}break;
    		case 4:if(count1==0) {System.out.println("获得10元奖励");} else{System.out.println("获得200元奖励");}break;
    		case 5:if(count1==0) {System.out.println("获得200元奖励");} else{System.out.println("获得3000元奖励");}break;
    		case 6:if(count1==0) {System.out.println("获得500万元奖励");} else{System.out.println("获得1000万元奖励");}break;
    		}
    		
    	}
    	public static void main(String []avgs)
     { 
    		 judgeball();
    		 judgeWard();
    }
     }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    • 115
    • 116
    • 117
    • 118
    • 119
    • 120
    • 121
    • 122
    • 123
    • 124
    • 125

    效果展示:

    双色球

  • 相关阅读:
    六、OpenAI之嵌入式(Embedding)
    Unity API详解——Mathf类
    使用Python进行网站页面开发——Django快速入门
    Hoops API参考: 3D Graphics System的Set_Color()函数
    IDEA中maven无法下载依赖解决方案
    unity(WebGL) 截图拼接并保存本地,下载PDF
    并发编程--多线程基础知识总结
    快来白漂动漫头像~Python调用百度AI接口,1行代码免费转换200张
    GoWeb——Gin框架入门(第一章)
    数据结构与算法--图
  • 原文地址:https://blog.csdn.net/qq_69683957/article/details/126507042