Java实现抽奖幸运儿
版权声明
- 本文原创作者:谷哥的小弟
- 作者博客地址:http://blog.csdn.net/lfdfhl
背景概述
在抽奖、点名、拆盲盒时我们都需要随机实现某些功能。所以,我们可借助于Java中的随机数来进行相应模块的开发。
第一版
要求如下:
- 1、数组中存放名字
- 2、随机从数组中选择1个名字
核心代码:
public static void test1(){String[] namesArray = {"王小刚","李思思","杨倩倩","李大勇","姚期名","陶冰冰"};int length = namesArray.length;// 进行1次随机选择Random random = new Random();int number = random.nextInt(length);String name = namesArray[number];System.out.println("被选中的是:"+name);}
测试结果:
第二版
要求如下:
- 1、数组中存放名字
- 2、随机从数组中选择10个名字
- 3、请输出出现次数最多的名字
核心代码:
ComparatorImpl类,代码如下:
import java.util.Comparator;
import java.util.Map;
/*** 本文作者:谷哥的小弟* 博客地址:http://blog.csdn.net/lfdfhl*/
public class ComparatorImpl implements Comparator<Map.Entry<String, Integer>> {@Overridepublic int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {int result = o1.getValue()-o2.getValue();return result;}
}
测试方法,代码如下:
public static void test2(){String[] namesArray = {"王小刚","李思思","杨倩倩","李大勇","姚期名","陶冰冰"};int length = namesArray.length;HashMap<String,Integer> hashMap = new HashMap<>();// 随机进行10次选择for (int i=0;i<10;i++){Random random = new Random();int number = random.nextInt(length);String name = namesArray[number];System.out.println("被选中的是:"+name);Integer counter = hashMap.get(name);if(counter==null){hashMap.put(name,1);}else{hashMap.put(name,counter+1);}}System.out.println("------------------------");Set<Map.Entry<String, Integer>> entrySet = hashMap.entrySet();Iterator<Map.Entry<String, Integer>> iterator = entrySet.iterator();while(iterator.hasNext()){Map.Entry<String, Integer> entry = iterator.next();String key = entry.getKey();Integer value = entry.getValue();System.out.println(key+"被选中"+value+"次");}System.out.println("------------------------");//排序前对EntrySet进行遍历List<Map.Entry<String, Integer>> list = new ArrayList<>(entrySet);for (int i = 0; i < list.size(); i++) {Map.Entry<String, Integer> entry = list.get(i);System.out.println(entry);}System.out.println("------------------------");// 利用comparator依据Value对EntrySet进行排序ComparatorImpl comparator = new ComparatorImpl();Collections.sort(list, comparator);//排序后对EntrySet进行遍历for (int i = 0; i < list.size(); i++) {Map.Entry<String, Integer> entry = list.get(i);System.out.println(entry);}System.out.println("------------------------");// 获取出现次数最多的名字int size = list.size();Map.Entry<String, Integer> entry = list.get(size - 1);String name = entry.getKey();System.out.println(name);}
测试结果:
第三版
要求如下:
- 1、在本地txt文件中存放多个名字
- 2、请随机选择10个名字
- 3、请输出出现次数最多的名字
核心代码:
略
第四版
要求如下:
- 1、在本地Excel文件中存放多个名字
- 2、请随机选择10个名字
- 3、请输出出现次数最多的名字
核心代码:
略
Java实现抽奖幸运儿相关推荐
- java实现抽奖游戏,java实现抽奖功能解析
本文实例为大家分享了java实现抽奖功能的具体代码,供大家参考,具体内容如下 抽一个: 输入抽奖人数,生成随机数字进行抽奖. 比如:楼主抽幸运儿送游戏,选择前100楼抽取一个幸运儿. import j ...
- 抽奖功能的实现java,java实现抽奖功能解析
本文实例为大家分享了java实现抽奖功能的具体代码,供大家参考,具体内容如下 抽一个: 输入抽奖人数,生成随机数字进行抽奖. 比如:楼主抽幸运儿送游戏,选择前100楼抽取一个幸运儿. import j ...
- java实现抽奖游戏_Java实现游戏抽奖算法
常用抽奖算法对比 基础的游戏抽奖算法通常要求实现在指定奖品的集合中,每个奖品根据对对应概率进行抽取.个人了解的主要有以下几中抽奖算法: 随机数一一对应 算法思想 这种算法思想最为简单.将n个奖品编号0 ...
- 抽奖功能java开发_基于Java实现抽奖系统
摘要:这篇Java开发技术栏目下的"基于Java实现抽奖系统",介绍的技术点是"抽奖系统.Java.抽奖.基于.系统.实现",希望对大家开发技术学习和问题解决有 ...
- Java 实现抽奖的两种方式
Java实现抽奖的两种方式 方式一:随机数在哪个区间内返回区间下标 方式二:随机数加入区间点集合排序返回随机数下标 代码示例: ①抽奖入参类型为BigDecimal: package com.cfay ...
- java幸运抽奖系统_java实现幸运抽奖系统
本文实例为大家分享了java实现抽奖系统的具体代码,供大家参考,具体内容如下 import java.util.Scanner; public class luckyDraw { public sta ...
- Java实现抽奖功能
这篇文章主要为大家详细介绍了Java实现抽奖功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文实例为大家分享了Java实现抽奖功能的具体代码,供大家参考,具体内容 ...
- 用Java实现抽奖的程序
抽奖程序的实现思路: 定义奖品列表和奖品对应的概率列表 生成一个随机数,根据随机数的大小判断中了哪个奖品 输出中奖结果 下面是用Java实现抽奖程序的代码示例: import java.util.Ra ...
- java swing 抽奖程序_java swing抽奖程序
今天比较闲,自己写了个简单的抽奖程序,很久没有用swing了,搞了半天,呵呵. 1.截图效果如下: 2.点击"开始"按钮,"幸运儿是:"区域不停滚动显示人员姓名 ...
最新文章
- 详解sentinel:分布式系统的流量防卫兵
- 产品待办列表如何精化?
- 千万不要在深夜提交代码
- androidsdcard挂载目录_获取android手机的自带存储路径和sdcard存储路径
- 停就删稿!这个“可怕”的 GitHub 开源项目值得一试
- Linux上使用Cron启动定时任务
- java 标题栏_如何更改java应用程序标题栏默认图标
- VSC为_LCC 和 VSC (MMC) 的底层特性区别
- 计算机网络故障检测,计算机网络故障处理
- OC容器——图书馆 .h 文件
- SQL Server之dbo
- [work] Python - 字典(dict)删除元素
- 三本郑大计算机考研,三本跨专业考研985,初试排名第一,结果竟被导师拒绝!寒心呀!...
- 【CSDN软件工程师能力认证学习精选】Python网络编程(socket编程)
- ArcBlock ⑦ 月报 | 产品一天半迭代1个版本 全球开发者社区建设启动
- 常用库函数的学习笔记
- 零基础开发一款微信小程序商城
- echarts环形图内部圆,外部圆形以及阴影设置
- 金融数字化转型落地实践,腾讯云数据库的三问三答
- OCR如何识别图片中的文字?