JAVA练习 双色球游戏

此篇博客介绍了一个JAVA编程练习,实现了双色球游戏的规则。用户需输入6个1-32之间的不重复红球号和1个1-15的蓝球号,程序会模拟开奖结果并判断中奖等级。通过该练习,可以巩固循环结构、if语句以及Scanner和Math.random的使用。运行示例显示了输入的和模拟的球号,以及中奖情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

案例:/* 双色球的规则
* 1、从键盘上输入六个红球存储在容器当中
* 1、球号的大小必须在1-32之间
* 2、输入的球号不能和已经存在数组当中的球号存在
* 2、篮球 1-15之间
3.开奖
4.得出中了几等奖.
通过这个练习能够把循环结构以及if语句灵活的结合运用,并且穿插了Scanner以及
Math.random的运用

	public static void main(String [] args){
	   Scanner sc=new Scanner(System.in);//建一个键盘扫描器
	    int [] hong=new int [6];
	    for(int i=0;i<hong.length;i++){
	         System.out.println("请输入第"+(i+1)+"个号码");
	         int n=sc.nextInt();
	         if(n>=1 && n<=32){
	        	 for(int j=0;j<i;j++){
	        		 if(hong[j]==n){
	        			 System.out.println("号码与前面号码重复,请重新输入");
	        			 i--;
	        			 break;
	        		 }
	        	 }
	         }else{
	        	 System.out.println("号码不符合规则,请重新输入");
	        	 i--;
	        	 continue;
	         }
	         hong[i]=n;
	    }
	    //蓝色号码  
	    int [] lan=new int[1];
	    System.out.println("请输入蓝色号码");
	    while(true){int m=sc.nextInt();
	    if(m>=1&& m<=32){
	    	lan[0]=m;
	    	break;
	    }else{
	    	System.out.println("输入号码不合规则,请重新输入");
	    }
	    }
	    System.out.println("选中的 红色号码:"+Arrays.toString(hong));
	    System.out.println("选中的蓝色号码:"+Arrays.toString(lan));
	    //机器选择号码;机器选择要运用到Math.random
	    int [] jiqihong=new int[6];//创建一个机器接收号码的数组
	    for(int i1=0;i1<jiqihong.length;i1++){
	    	double n11=Math.random();
	    	int n1=(int)(n11*32+1);
	    	if(n1>=1 && n1<=32){
	    		for(int j1=0;j1<i1;j1++){
	    			if(jiqihong[j1]==n1){
	    				i1--;
	    				break;
	    			}
	    		}
	    	}else{
	    		i1--;
	    		continue;
	    	}
	    	jiqihong [i1]=n1;
	    }
	    System.out.println("本期红色号码:"+Arrays.toString(jiqihong));
	    //电脑打印蓝球
	    double m11=Math.random();
	    int m1=(int)(m11*15+1);
	    int [] diannaolan=new int [1];
	    diannaolan[0]=m1;
	    System.out.println("本期蓝色号码:"+Arrays.toString(diannaolan));
	    //比较有哪些球相同 红球,蓝球
	    //红球
	        int sum=0;
	    for(int x=0;x<hong.length;x++){
	    	int x1=hong[x];
	    	int sum1=0;
	    	for(int y=0;y<jiqihong.length;y++){
	    		int y1=jiqihong[y];
	    		if(x1==y1){
	    			sum1++;
	    			break;
	    		}
	    	}
	    	sum+=sum1;
	    }
	    System.out.println("红球相同个数 "+sum);
	    //蓝球
	    int num;
	    if(lan[0]==diannaolan[0]){
	    	num=1;
	    }else{
	    	num=0;
	    }
	    System.out.println("蓝球相同个数 "+num);
	    //打印中奖信息
	    if(num==1&& sum==6){
	    	System.out.println("恭喜你!中了一等奖");
	    }else if(num==0&& sum==6){
	    	System.out.println("恭喜你!中了二等奖");
	    }else if(num==1&& sum==5){
	    	System.out.println("恭喜你!中了三等奖");
	    }else if(num==1&& sum==4 ||num==0&& sum==5 ){
	    	System.out.println("恭喜你!中了四等奖");
	    }else if(num==1&& sum==3 ||num==0&& sum==4){
	    	System.out.println("恭喜你!中了五等奖");
	    }else if(num==1&& sum==2 ||num==1&& sum==1 ||num==1&& sum==0){
	    	System.out.println("恭喜你!中了六等奖");
	    }else{
	    	System.out.println("很遗憾,你没有中奖");
	    }
	}

运行结果:
请输入第1个号码
1
请输入第2个号码
2
请输入第3个号码
3
请输入第4个号码
4
请输入第5个号码
5
请输入第6个号码
6
请输入蓝色号码
7
选中的 红色号码:[1, 2, 3, 4, 5, 6]
选中的蓝色号码:[7]
本期红色号码:[3, 19, 6, 29, 31, 14]
本期蓝色号码:[7]
红球相同个数 2
蓝球相同个数 1
恭喜你!中了六等奖

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值