Flask接口签名sign原理与实例代码浅析
306
2022-12-17
java双色球机选法程序解析
本文实例为大家分享了java双色球机选法程序的具体代码,供大家参考,具体内容如下
一.程序要求
随机产生红色球池1~33,并随机从红色球池中去除6个红球,且不可重复!
随机产生蓝色球池1~16, 并随机从蓝色球池中去除1个蓝球,且不可重复!
二.程序分析
a.先将红球与蓝球球池建立!
我们可以使用for循环来产生,并放到对应数组中。
int[]hongQiu=new int[33];
for(int i=0;i hongQiu[i]=i+1; b.通过Random方法产生33个随机数并作为上一步产生的球池数组的下标。从而取出随机的球 c.为了排除不取出重复的球,我们可以建立一个Boolean类型的数组,长度也为33,Boolean数组默认里面的数据都是false,通过每取出一个就将Boolean数组中对应的一个数据置为true;再使用if来进行判断,当是true时就代表取重复了,使用continue结束下面循环重新再重头开始循环,直到我们取出来6个不重复的为止,进行Break跳出! 三.程序代码如下: import java.util.Random; import java.util.ArraysOtCHCzSA; public class Shuangseqiu { public static void main(String[] args) { //产生红球球池1~33,房子数组lanQiu中 int[]hongQiu=new int[33]; for(int i=0;i hongQiu[i]=i+1; } //产生16个红球球池 int[]lanQiu=new int[16]; for(int i=0;i lanQiu[i]=i+1; } //产生6个随机数作为蓝色球池数组的下标,从而选出6个球 int i=0; int[] flag=new int[6]; boolean[] dex=new boolean[33]; Random random=new Random(); while(true){ int index=random.nextInt(33); if(dex[index]==true){ continue; } flag[i]=hongQiu[index]; i++; if(i==6){ break; } } //产生1个随机数作为数组lanQiu的下标,从而从蓝球球池取出一个球 int []flag1=new int[1];int k=0; boolean[]dex1=new boolean[16]; while(true){ int index1=random.nextInt(16); flag1[0]=lanQiu[index1]; if(dex1[index1]==true){ continue; } k++; if(k==1){ break; } } System.out.println("本期红球为:"+Arrays.toString(flag)); System.out.println("本期蓝球为:"+Arrays.toString(flag1)); } }
hongQiu[i]=i+1;
b.通过Random方法产生33个随机数并作为上一步产生的球池数组的下标。从而取出随机的球
c.为了排除不取出重复的球,我们可以建立一个Boolean类型的数组,长度也为33,Boolean数组默认里面的数据都是false,通过每取出一个就将Boolean数组中对应的一个数据置为true;再使用if来进行判断,当是true时就代表取重复了,使用continue结束下面循环重新再重头开始循环,直到我们取出来6个不重复的为止,进行Break跳出!
三.程序代码如下:
import java.util.Random;
import java.util.ArraysOtCHCzSA;
public class Shuangseqiu {
public static void main(String[] args) {
//产生红球球池1~33,房子数组lanQiu中
int[]hongQiu=new int[33];
for(int i=0;i hongQiu[i]=i+1; } //产生16个红球球池 int[]lanQiu=new int[16]; for(int i=0;i lanQiu[i]=i+1; } //产生6个随机数作为蓝色球池数组的下标,从而选出6个球 int i=0; int[] flag=new int[6]; boolean[] dex=new boolean[33]; Random random=new Random(); while(true){ int index=random.nextInt(33); if(dex[index]==true){ continue; } flag[i]=hongQiu[index]; i++; if(i==6){ break; } } //产生1个随机数作为数组lanQiu的下标,从而从蓝球球池取出一个球 int []flag1=new int[1];int k=0; boolean[]dex1=new boolean[16]; while(true){ int index1=random.nextInt(16); flag1[0]=lanQiu[index1]; if(dex1[index1]==true){ continue; } k++; if(k==1){ break; } } System.out.println("本期红球为:"+Arrays.toString(flag)); System.out.println("本期蓝球为:"+Arrays.toString(flag1)); } }
hongQiu[i]=i+1;
}
//产生16个红球球池
int[]lanQiu=new int[16];
for(int i=0;i lanQiu[i]=i+1; } //产生6个随机数作为蓝色球池数组的下标,从而选出6个球 int i=0; int[] flag=new int[6]; boolean[] dex=new boolean[33]; Random random=new Random(); while(true){ int index=random.nextInt(33); if(dex[index]==true){ continue; } flag[i]=hongQiu[index]; i++; if(i==6){ break; } } //产生1个随机数作为数组lanQiu的下标,从而从蓝球球池取出一个球 int []flag1=new int[1];int k=0; boolean[]dex1=new boolean[16]; while(true){ int index1=random.nextInt(16); flag1[0]=lanQiu[index1]; if(dex1[index1]==true){ continue; } k++; if(k==1){ break; } } System.out.println("本期红球为:"+Arrays.toString(flag)); System.out.println("本期蓝球为:"+Arrays.toString(flag1)); } }
lanQiu[i]=i+1;
}
//产生6个随机数作为蓝色球池数组的下标,从而选出6个球
int i=0;
int[] flag=new int[6];
boolean[] dex=new boolean[33];
Random random=new Random();
while(true){
int index=random.nextInt(33);
if(dex[index]==true){
continue;
}
flag[i]=hongQiu[index];
i++;
if(i==6){
break;
}
}
//产生1个随机数作为数组lanQiu的下标,从而从蓝球球池取出一个球
int []flag1=new int[1];int k=0;
boolean[]dex1=new boolean[16];
while(true){
int index1=random.nextInt(16);
flag1[0]=lanQiu[index1];
if(dex1[index1]==true){
continue;
}
k++;
if(k==1){
break;
}
}
System.out.println("本期红球为:"+Arrays.toString(flag));
System.out.println("本期蓝球为:"+Arrays.toString(flag1));
}
}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~