您的位置:首页 > 编程语言 > Java开发

java模拟双色球彩票程序

2013-12-29 23:49 429 查看
/**
* 案例 模拟双色球
* 系统生成一个蓝球和六个红球 并存储起来 
* 接受用户选号   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);

	}

}


执行截图

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: