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);
}
Java实现模拟双色球
猜你喜欢
转载自blog.csdn.net/m0_43455210/article/details/104599294
今日推荐
周排行