我们在做抽奖的时候往往会设计概率或者限制某个奖项的个数,今天我就记录一下自己在设计限制奖项个数的所得:数组
1.首先我定义一个空数组
int[] feecount = null; //限制5元的个数最多为50个,10元的个数最多为30个
2.判断数据库中的数据是不是符合这个条件
if(money.getFiveCounts() > 49 && money.getTenCounts() < 29){
3.如果符合相应的条件就赋相应的值给一个数组,并将这个数组再赋值给之前定义好的数组
int[] feecounts = {1,3,4}; feecount = feecounts; }
if(money.getFiveCounts() < 49 && money.getTenCounts() > 29){
int[] feecounts = {1,2,4}; feecount = feecounts; }
if(money.getFiveCounts() >= 49 && money.getTenCounts() >= 29){
int[] feecounts = {1,4}; feecount = feecounts; }
if(money.getFiveCounts() <= 49 && money.getTenCounts() <= 29){
int[] feecounts = {1,2,3,4}; feecount = feecounts; }
4.根据数组的长度产生随机数
// 获得抢票随机数
int nums = (int)(feecount.length*Math.random());
5.根据得到的随机数从数组中获取真实的数据
// 获得map的key
int num = feecount[nums];