本篇内容主要讲解“Java怎么实现抽奖算法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java怎么实现抽奖算法”吧!
题目: 小虚竹为了给粉丝送福利,决定在参与学习打卡活动的粉丝中抽一位幸运粉丝,送份小礼物。为了公平,要保证抽奖过程是随机的。
1、把参与的人员加到集合中
2、使用Random对象获取随机数
3、把随机数当下标,获取集合中的幸运用户
public class Basics28 {
public static void main(String[] args) {
List<String> luckUserNames = getLuckUserNames();
Random random = new Random();
int luckNum = random.nextInt(6);
System.out.println("幸运的未来大佬是:"+luckUserNames.get(luckNum));
}
private static List<String> getLuckUserNames(){
List<String> luckUserNames = new ArrayList<String>();
luckUserNames.add("李慢慢_");
luckUserNames.add("TryAgain-");
luckUserNames.add("team_dog");
luckUserNames.add("Jasonakeke");
luckUserNames.add("学好c语言的小王同学");
luckUserNames.add("Ara~追着风跑");
return luckUserNames;
}
}
随机次数太少,需要优化
需要列出所有人随机命中的次数,显示出来,比较公开公平
public class LuckDraw {
public static void main(String[] args) {
List<String> luckUserNames = getLuckUserNames();
Random random = new Random();
//key:luckNum ,value:count
Map<Integer,Integer> luckNumMap = new HashMap<Integer, Integer>();
for (int i = 0; i < 100; i++) {
int luckNum = random.nextInt(4);
Integer count = luckNumMap.get(luckNum);
if(count==null){
count = 0;
}
++count;
luckNumMap.put(luckNum,count);
}
Integer maxLuckNum = 0;
Integer maxCount =0;
for(Integer luckNum:luckNumMap.keySet()){
if(maxCount<luckNumMap.get(luckNum)){
maxCount = luckNumMap.get(luckNum);
maxLuckNum = luckNum;
}
System.out.println(luckUserNames.get(luckNum)+"同学的幸运值:"+luckNumMap.get(luckNum));
}
System.out.println("本周学习打卡积分第一且是幸运的未来大佬是:"+luckUserNames.get(maxLuckNum));
}
private static List<String> getLuckUserNames(){
List<String> luckUserNames = new ArrayList<String>();
luckUserNames.add("学好c语言的小王同学");
luckUserNames.add("Ara~追着风跑");
luckUserNames.add("李慢慢_");
luckUserNames.add("Jasonakeke");
return luckUserNames;
}
}
到此,相信大家对“Java怎么实现抽奖算法”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。