Java怎么实现抽奖算法
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,本篇内容主要讲解"Java怎么实现抽奖算法",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Java怎么实现抽奖算法"吧!一、题目描述题目: 小虚竹为了给粉丝
千家信息网最后更新 2025年01月21日Java怎么实现抽奖算法
本篇内容主要讲解"Java怎么实现抽奖算法",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Java怎么实现抽奖算法"吧!
一、题目描述
题目: 小虚竹为了给粉丝送福利,决定在参与学习打卡活动的粉丝中抽一位幸运粉丝,送份小礼物。为了公平,要保证抽奖过程是随机的。
二、解题思路
1、把参与的人员加到集合中
2、使用Random对象获取随机数
3、把随机数当下标,获取集合中的幸运用户
三、代码详解
public class Basics28 { public static void main(String[] args) { ListluckUserNames = 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) { ListluckUserNames = 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怎么实现抽奖算法"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
幸运
算法
学习
同学
粉丝
代码
内容
思路
次数
语言
随机数
题目
小王
大佬
打卡
实用
更深
下标
人员
兴趣
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
哪些手段会威胁网络安全
苹果13总是无法连接服务器
云服务器与云计算
中国知网的数据库的域名
陆军网络安全警示片
mc开服务器好友不能破坏方块
2u服务器多重
什么是网络技术排名靠前
武汉网络安全中心孵化器
我的世界宝可梦星辰服务器下载
湖州云软件开发计划
服务器会不会记录cpu系列号
数据库应用移植
长沙市众元网络技术公司
梦幻西游怎么看人物在哪个服务器
软件开发部门 总结
网络安全软件测试招聘
中表和数据库之间的关系是
江西青少年网络安全颁奖典礼
王者服务器太多如何注销
软件开发岗位是什么意思
怎么从收银系统导出数据库
武昌区软件开发公司
bvd 数据库
广电电信网络安全机房规范标准
僵尸毁灭工程服务器翻译
软件开发sdd的
计算机网络技术有哪些职位
已经泄漏的企鹅数据库
蓟州区节能软件开发服务装饰