Java双色球代码实现-最简单易懂的版本

先是双色球规则
这个规则大概是通用的吧
然后是老师当时讲的一个思路(虽然我自己也想到了)
在这里插入图片描述
下面就是代码实现了,有C基础的同学应该很容易可以看懂,即使没有也没事,我自己脑子没那么好,写的就都是最简单脑子最能理解得来的方法

package cn.goktech;

import java.util.Random;
import java.util.Scanner;

public class DoubleColorBall {
		public static void main(String[] args) {
			//生成蓝球号码
			Random randomBlue = new Random();
			int numBlue = randomBlue.nextInt(16)+1;
			System.out.println("numBlue="+numBlue);
			
			//生成红球号码
			int[] ary=new int[6];
			int count = 0;
			while(count<=5)
			{
				Random randomRed = new Random();
				int numRed = randomRed.nextInt(33)+1;
				//System.out.println("numRed="+numRed);
				int flag = 0;
				for(int i=0;i<=5;i++)
				{
					if(numRed!=ary[i])
					{
						flag++;//跟数组内第0位的数不同则flag加一
					}
				}
				if(flag==6)//flag==6说明生成的numRed与数组内的6个参数都不同
				{
					ary[count]=numRed;//将不重复的这个numRed参数赋值到ary数组的第count位中去
					count++;//同时count加一,这样就不会重复赋值到数组的同一个位置上
				}
			}
			//检验是否有误
			for(int j=0;j<=5;j++)
			{
				int a=ary[j];
				System.out.println("ary["+j+"]="+a);
			}
			
			System.out.println("-----system information-----");
			System.out.println();
			System.out.println();

			
			//用户输入蓝球号码
			int scBlue;
			while(1==1)
			{
				Scanner sc1 = new Scanner(System.in);
				System.out.println("----请输入您的蓝球号码----");
				System.out.print("请输入1~16的数字并按回车结束:");
				scBlue = sc1.nextInt();
				if(scBlue<1 || scBlue>16)
				{
					System.out.println("请输入1~16的数字!");
				}
				else
				{
					System.out.println("用户输入的蓝球号码为:"+scBlue);
					break;
				}
			}
			
			//用户输入不重复的红球号码
			int ccount = 0;
			
			int[] ary2=new int[6];
			while(ccount<=5)
			{
				Scanner sc2 = new Scanner(System.in);
				int no=ccount+1;
				System.out.println("----请输入您的"+no+"号红球号码----");
				System.out.print("请输入1~33的数字并按回车结束:");
				int scRed = sc2.nextInt();
				if(scRed<1 || scRed>33)
				{
					System.out.println("请输入1~33的数字!");
				}
				else
				{
					System.out.println("用户输入的"+no+"号红球号码为:"+scRed);
					int flag2 = 0;
					
					for(int i=0;i<=5;i++)
					{
						if(scRed!=ary2[i])
						{
							flag2++;//跟数组内第0位的数不同则flag2加一
						}
						else
						{
							System.out.println("您输入了重复的号码!请重新输入!");
						}
					}
					if(flag2==6)//flag==6说明生成的scRed与数组内的6个参数都不同
					{
						ary2[ccount]=scRed;//将不重复的这个scRed参数赋值到ary2数组的第ccount位中去
						ccount++;//同时ccount加一,这样就不会重复赋值到数组的同一个位置上
					}
				}
			}
			//检验红球号码是否有误
			for(int k=0;k<=5;k++)
			{
				int a=ary2[k];
				System.out.println("ary2["+k+"]="+a);
			}
			
			//判断蓝球是否中奖
			int Blue = 0;
			if(scBlue==numBlue)
			{
				Blue++;
			}
			
			//判断红球中奖个数
			int x;
			int Red=0;
			for(int l =0;l<=5;l++)
			{
				for(int m=0;m<=5;m++)
				{
					x=ary2[l];
					if(x==ary[m])
					{
						Red++;
					}
				}
			}
			
			//输入奖金池累计奖金
			double bonusAll=0;
			
			while(1==1)
			{
				Scanner sc3 = new Scanner(System.in);
				System.out.println("----请输入奖金池累计奖金----");
				System.out.print("请输入大于等于0的数字并按回车结束:");
				bonusAll = sc3.nextInt();
				if(bonusAll<0)
				{
					System.out.println("请输入大于等于0的数字!你在搞笑吧!");
				}
				else
				{
					System.out.println("奖金池累计奖金为:"+bonusAll);
					break;
				}
			}
			
			//输入高等奖奖金
			double bonusNow=0;			
			while(1==1)
			{
				Scanner sc4 = new Scanner(System.in);
				System.out.println("----请输入本期高等奖奖金----");
				System.out.print("请输入大于0的数字并按回车结束:");
				bonusNow = sc4.nextInt();
				if(bonusNow<=0)
				{
					System.out.println("请输入大于0的数字!你在搞笑吧!");
				}
				else if(bonusNow>0 && bonusNow<=10)
				{
					System.out.println("奖金池累计奖金为:"+bonusNow);
					System.out.println("不是吧阿sir,我找辉山鸽鸽送我的都比你多,这点钱不配");
					bonusNow=0;	
					System.out.println("已清空奖金池累计奖金");
					System.out.println("请重新输入");
				}
				else if(bonusNow>10 && bonusNow<=10000)
				{
					System.out.println("奖金池累计奖金为:"+bonusNow);
					System.out.println("就这就这?就这?就这?你也太抠门了吧( ̄_, ̄ )");
					break;
				}
				else if(bonusNow>10000 && bonusNow<=1000000)
				{
					System.out.println("奖金池累计奖金为:"+bonusNow);
					System.out.println("老板,给的太少了吧,下次给多点( ̄_, ̄ )");
					break;
				}
				else
				{
					System.out.println("奖金池累计奖金为:"+bonusNow);
					break;
				}
			}
			
			
			//判断总的中奖个数对应奖项
			
			System.out.println("您的奖赏等级为:");
			System.out.println("这么激动人心的时刻就要到了!");
			System.out.println("到底是多少呢?");
			System.out.println("你猜猜看?");
			System.out.println("你猜猜看?");
			System.out.println("你猜猜看?");

			System.out.println("别猜了!");
			//输出红蓝球号码
			System.out.println("蓝球号码是:"+numBlue);
			for(int k=0;k<=5;k++)
			{
				int a=ary[k];
				System.out.println("红球"+k+1+"号为:"+a);
			}
			//输出红蓝球中奖个数
			System.out.println("蓝球中奖个数为:"+Blue);
			System.out.println("红球中奖个数为:"+Red);

			System.out.println("您的奖赏等级为......");
			if(Blue==1 && Red==6)
			{
				System.out.println("============");
				System.out.println("=一等奖!!!!!!!!=");
				System.out.println("============");
				int sameNote;
				while(1==1)
				{

					Scanner sc5 = new Scanner(System.in);
					System.out.println("----请输入本期同注人数----");
					System.out.print("请输入大于0的数字并按回车结束:");
					sameNote = sc5.nextInt();
					if(sameNote<0)
					{
						System.out.println("请输入大于等于0的数字!你在搞笑吧!");
					}
					else
					{
						System.out.println("本期同注人数为:"+sameNote);
						break;
					}
				}
				
				//判断奖金分配方式
				double price1;
				if(bonusAll<100000000)
				{
					price1=(bonusNow*0.7+bonusAll)/sameNote;
				}
				else
				{
					price1=((bonusNow*0.5+bonusAll)+bonusNow*0.5)/sameNote;
				}
				if(price1>5000000)
				{
					price1=5000000;
				}
				System.out.println("你的奖金为:"+price1+"RMB");
				System.out.println("恭喜恭喜!快!跟我五五开!");
				double tmp1=price1*0.5;
				System.out.println("你"+tmp1+"RMB,我"+tmp1+"RMB");
			}
			else if(Blue==0 && Red==6)
			{
				double price2;
				price2=bonusNow*0.3;
				System.out.println("二等奖!!");
				System.out.println("你的奖金为:"+price2+"RMB");
				System.out.println("恭喜恭喜!快!跟我四六开!");
				double tmp2=price2*0.4,tmp3=price2*0.6;
				System.out.println("你"+tmp2+"RMB,我"+tmp3+"RMB");
			}
			else if(Blue==1 && Red==5)
			{
				System.out.println("三等奖!!");
				System.out.println("你的奖金为:3000块钱!");
				System.out.println("好家伙!快!跟我五五开!你1k5我1k5!");
			}
			else if((Blue==0 && Red==5)||(Blue==1 && Red==4))
			{
				System.out.println("四等奖!!");
				System.out.println("你的奖金为:200块钱!");
				System.out.println("快!跟我三七开!200块钱你60我140!");
			}
			else if((Blue==0 && Red==4)||(Blue==1 && Red==3))
			{
				System.out.println("五等奖!!");
				System.out.println("你的奖金为:10块钱!");
				System.out.println("十块钱也是钱!快!白送我!");
			}
			else if((Blue==1 && Red==2)||(Blue==1 && Red==1)||(Blue==1 && Red==0))
			{
				System.out.println("六等奖!!");
				System.out.println("你的奖金为:5块钱!");
				System.out.println("5块钱!啊......才5块钱啊......");
				System.out.println("算了,这次就送给你吧。下次中奖记得喊我啊。");
			}
			else
			{
				System.out.println("鸭蛋奖!");
				System.out.println("就你这运气还想脱非入欧?");
				System.out.println("做梦吧!");
				System.out.println("还搁这买彩票呐?");
				System.out.println("先奖励自己拿一颗鸭蛋砸自己头上清醒一下吧!");
				System.out.println("那");
				System.out.println("掰掰");
			}
			
			
		}
}

  • 13
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值