java模拟双色球彩票程序

/**
* 案例 模拟双色球
* 系统生成一个蓝球和六个红球 并存储起来 
* 接受用户选号   1个蓝球 和 6个红球
* 验证比较用户是否中奖
* 公布本期中奖号码
*/
import java.util.Random;  //引入生成随机字符的工具类
import java.util.Scanner; //接收数据流的类
public class demo {


	static public void main(String[] arg) {
		
		int sysblueballnum;  //系统生成的篮球号
		int[] sysredballnum = new int[6];  //系统生成的红球号
		int userblueballnum;  //用户选择的蓝球号
		int[] userredballnum = new int[6]; //用户红球号码
		
		int blueball = 0;//蓝球号码是否正确
		int redballcount = 0; //红球号码是否正确
		
		//初始化随机类
		Random r = new Random();
		//获取输入流
		Scanner s = new Scanner(System.in);
		
		//蓝球赋值
		sysblueballnum = r.nextInt(16)+1;
		
		//红球初始值
		int[] rednum = {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};
		
		//随机生成红球号码
		for(int i=0;i<sysredballnum.length;i++) {
			while(true) {
				int index = r.nextInt(33);
				if(rednum[index] != 0) {
					sysredballnum[i] = rednum[index];
					rednum[index] = 0;
					break;
				}
			}
		}
		
		//接受用户选好
		System.out.println("双色球彩票选好开始,祝你好运!");
		System.out.println("请选择蓝球,16选1!");
		userblueballnum = s.nextInt();
		System.out.println("请选择红球,33选6!");
		for(int i=0;i<userredballnum.length;i++) {
			userredballnum[i] = s.nextInt();
		}
		
		//判断用户选择 跟系统号码 是否匹配
		if(userblueballnum == sysblueballnum) {
			blueball = 1;
		}
		//验证后求
		for(int i=0;i<userredballnum.length;i++) {
			for(int j=0;j<sysredballnum.length;j++) {
				//如果用户红球和系统红球相等 那么就累加
				if(userredballnum[i] == sysredballnum[j]) {
					redballcount++;
					break;
				}
			
			}
		}
		
		
		//判断是否中奖
		if(blueball==1 && redballcount==6) {
			System.out.println("恭喜你中了500W!");
		}else if(redballcount == 6) {
			System.out.println("恭喜你中了2等奖,100W");
		}else if(blueball==1 && redballcount==5) {
			System.out.println("恭喜你中了3等奖,3000快");
		}else if(redballcount==5    || (blueball==1 && redballcount==4)) {
			System.out.println("恭喜你中了4等奖,200快");
		}else if(redballcount==4    || (blueball==1 && redballcount==3)) {
			System.out.println("恭喜你中了5等奖,10快");
		}else if((blueball==1 && redballcount==1) || blueball==1    || (blueball==1 && redballcount==2)) {
			System.out.println("恭喜你中了6等奖,5快");
		}else {
			System.out.println("很遗憾,您没中奖!");
		}
		
		//输出本期中奖号码
		//先排个序
		for(int i=0;i<sysredballnum.length-1;i++) {
			for(int j=0;j<sysredballnum.length-1-i;j++) {
				if(sysredballnum[j] > sysredballnum[j+1]) {
					int tmp = sysredballnum[j+1];
					sysredballnum[j+1] = sysredballnum[j];
					sysredballnum[j] = tmp;
				}
				
			}
		}
 		
		//先输出红球
		System.out.println("本期的中奖号码为:");
		
		System.out.print("红球号码:");
		for(int i=0;i<sysredballnum.length;i++) {
			System.out.print(sysredballnum[i]+"  ");
		}
		
		//输出蓝球
		System.out.println("本期蓝球中奖号码:"+sysblueballnum);

	}



}


执行截图


评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值