java实现抽奖算法的示例代码-亚博电竞手机版

目录

  • 一、题目描述
  • 二、解题思路
  • 三、代码详解
  • 四、优化抽奖算法
    • 解题思路
    • 代码详解

一、题目描述

题目: 小虚竹为了给粉丝送福利,决定在参与学习打卡活动的粉丝中抽一位幸运粉丝,送份小礼物。为了公平,要保证抽奖过程是随机的。

二、解题思路

1、把参与的人员加到集合中

2、使用random对象获取随机数

3、把随机数当下标,获取集合中的幸运用户svlyfu

三、代码详解

public class basics28 { public static void main(string[] args) { list luckusernames = getluckusernames(); random random = new random(); int lucknum = random.nextint(6); system.out.println("幸运的未来大佬是:" luckusernames.get(lucknum)); } private static list getluckusernames(){ list luckusernames = new arraylist(); 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 luckusernames = getluckusernames(); random random = new random(); //key:lucknum ,value:count map lucknummap = new hashmap(); 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 getluckusernames(){ list luckusernames = new arraylist(); luckusernames.add("学好c语言的小王同学"); luckusernames.add("ara~追着风跑"); luckusernames.add("李慢慢_"); luckusernames.add("jasonakeke"); return luckusernames; } }

到此这篇关于java实现抽奖算法的示例代码的文章就介绍到这了,更多相关java抽奖算法内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

展开全文
内容来源于互联网和用户投稿,文章中一旦含有亚博电竞手机版的联系方式务必识别真假,本站仅做信息展示不承担任何相关责任,如有侵权或涉及法律问题请联系亚博电竞手机版删除

最新文章

网站地图