Java实现模拟双色球

public static void main(String[] args) {
		game2();
	}
	static void game2() {
		Random r=new Random();
		Scanner s=new Scanner(System.in);
//		1、系统随机从1~16之间随机生成一个蓝色球号码
		int computer_blue=r.nextInt(16)+1;
//		2、系统随机从1~33之间随机生成不重复的六个红色球号码
		int computer_reds[]=new int[6];
		for(int i=0;i<computer_reds.length;i++) {//由于外循环只会执行6次,会出现重复红色球,所有i要--
//			boolean flag=false;//false表示红色球没重复
			int flag=0;//0表示红色球没重复
			int computer_red=r.nextInt(33)+1;//产生的红色球号码
			//第二次及以后放红色球,应该跟computer_reds里面的数都比较一下
			for(int j=0;j<i;j++) {
				if(computer_red==computer_reds[j]) {//说明这个红色球重复了
					//那就再重新随机产生红色球号码 
					i--;//红色球重复,这次不算
					//重复就修改标志flag的值
					flag=1;
					break;//及时退出,代码更优  break退出最近一层的循环					
				}
			}
			if(flag==0) {				
				computer_reds[i]=computer_red;//把产生的不重复的红色球号码放入数组中
			}
		}
//		3、用户通过键盘输入1个1~16之间的数字作为蓝色球号码
		System.out.println("请输入1个1~16之间的数字:");
		int user_blue=s.nextInt();
//		4、用户重复从键盘回车输入6个1~33之间不重复的数字作为红色球号码
		int user_reds[]=new int[6];
		System.out.println("请输入6个1~33之间不重复的数字:");
		for(int i=0;i<user_reds.length;i++) {
			int user_red=s.nextInt();
			user_reds[i]=user_red;//把用户输的数赋值给数组
		}
		
		System.out.println("开奖号码:");
		for(int i=0;i<computer_reds.length;i++) {
			System.out.print(computer_reds[i]+"\t");
		}
		System.out.println(computer_blue);
		
		System.out.println("用户购买的号码:");
		for(int i=0;i<user_reds.length;i++) {
			System.out.print(user_reds[i]+"\t");
		}
		System.out.println(user_blue);		
	}
发布了16 篇原创文章 · 获赞 1 · 访问量 541

猜你喜欢

转载自blog.csdn.net/m0_43455210/article/details/104599294