java数组的应用案例双色球


小案例,应用数组实现双色球判断中奖情况 调用的的前面代码块里的函数,如有疑问看看前一个代码块封装的方法
下面有前一个代码块的链接
package com.demo.lesson4;

import com.demo.publicTools.Tools;

/**
 * @author MR zjw
 *
 *2017-3-1
 */
public class WinNumgame {

	/**
	 * 双色球游戏
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//实例化对象
		WinNumgame wn=new WinNumgame();
		Arraydemo ad=new Arraydemo();
		Tools tool=new Tools();
		//用户输入7个数并存入数组user_num中,6个红色球,1个蓝色球号码
		//用户输入红色球
		int[] user_num=new int[7];
		for(int i=0;i<6;i++){
			System.out.println("请输入你的红色球幸运数字:");
			int userNum=tool.getScannerInt();
			int repeat=wn.checkRrpeat(userNum,user_num);//调用判断是否重复的函数,repeat接收返回值-1或0.
			user_num[i]=userNum;
			if(repeat==-1){
				i=i-1;
				System.out.println("你输入的数字重复,请重新输入");
			}
			else if(userNum>33||userNum<1){
				i=i-1;
				System.out.println("你输入的数字在范围外,请重新输入");
			}
		}
		//用户输入的蓝色球数字
		int userNum_blue;
		do{
			System.out.println("请输入你的蓝色球幸运数字:");
			userNum_blue=tool.getScannerInt();//将用户输入的数字用userNum_blue接收
			user_num[6]=userNum_blue;
			//判断是否在1-16的数字
			if(userNum_blue>16||userNum_blue<1){
				System.out.println("你输入的数字在范围外,请重新输入");
			}
		}while(userNum_blue>16||userNum_blue<1);
		
		System.out.println("用户输入的号码");
		for(int e:user_num){
			System.out.print(e+",");
		}
		System.out.println();
		
		//随机生成7个中奖号码并插入RandomNum数组中(6个红色球,1个蓝色球)
		System.out.println("双色球中奖号码");
		//随机生成6个红色球中奖号码
		int[] RandomNum=new int[7];
		for(int i=0;i<6;i++){
			int raNum=tool.getMathRandomNM(1,32);
			int repeat=wn.checkRrpeat(raNum,RandomNum);//调用判断重复的函数,repeat接收返回值-1或0.
			RandomNum[i]=raNum;
			if(repeat==-1){
				i=i-1;
			}
		}
		
		//随机生成1个蓝色球中奖号码
		int RandomNum_blue=tool.getMathRandomNM(1, 16);
		RandomNum[6]=RandomNum_blue;
		for(int e:RandomNum){
			System.out.print(e+",");
		}
		System.out.println();
		
		//将用户的号码拿出一个来与中奖号码比较
		int j;
		int sum = 0;//计数用户红色球中奖个数
		for(int i=0;i<6;i++){
			 RandomNum=ad.paixun_maopao(RandomNum);//调用Arraydemo类的冒泡排序,排序数组前6为值的大小
			 j=ad.chaiban(RandomNum,user_num[i]);//j接收拆分查询函数返回的值,若为-1就红色球不一致,否则一致
			 if(j!=-1){
				 sum=sum+1;
			 }
		}
		
		//判断是否中奖
		//中奖规则如果蓝色球一致,红色球中0-2个为6等奖。。。
		//中奖等级
		String winGrade;
		//调用判断是否中奖的函数,返回1等2等...奖,并用winGrade接收返回值,返回字符串为空格则未中奖。
        winGrade=wn.checkLuck(RandomNum_blue, userNum_blue, sum);
        if(winGrade==" "){
        	System.out.println("抱歉,你没有中奖");
        }
        else{
        	System.out.println("恭喜!你中了"+winGrade+"等奖");
        }
	}
	
	/**
	 * 传入一个value值,如果与数组里的值不一样就插入,否则就返回-1,重新输入或生成一个数字
	 */
	public int checkRrpeat(int value,int[] arr){
		int s = 0;
		for(int i=0;i
   
   
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值