java抽奖程序_java怎么做出简单的抽奖程序?实例代码展示
自从20世纪90年代以来,java编程语言的发展如火如荼,不仅仅应用于高新产业的壮大发展,还涉及到了我们的日常生活,为我们的生活带来了更多的便利与快捷方法。今天主要为大家介绍一下,如何用java做出一个简单的抽奖程序,并且通过一个实例代码为大家展示。
首先,我们要确定一个基本思路。第一步:确定我们需要的奖项,比如:一等奖、二等奖、三等奖、谢谢惠顾;第二步:设置4个区间,0~5是一等奖、6~15是二等奖、16~40是三等奖、剩下的40~100是谢谢惠顾;第三步:产生一个随机数,判断随机数在哪个区间之内,就会获得相应的奖项;
这是一个比较简单的程序设计,接下来为大家展示实例代码。public JsonResult luckyDraw()
{
JsonResult jsonResult = new JsonResult("200");
jsonResult.setFlag(true);
jsonResult.setMsg("抽奖成功");
//定义中奖率分母百分之
int probabilityCount = 100;
//最小概率
String min = "min";
//最大概率
String max = "max";
Integer tempInt = 0;
//待中将商品数组
Map > prizeMap = new HashMap ();
//获取商品列表
List prizeList = prizeDao.findAll();
for (Prize prize: prizeList)
{
Map oddMap = new HashMap ();
//最小概率值
oddMap.put(min, tempInt);
tempInt = tempInt + prize.getPrizeOdd();
//最大概率
oddMap.put(max, tempInt);
prizeMap.put(prize.getId(), oddMap); //(奖品id,最小概率~最大概率)
}
//随机一个数字
int index = (int)(Math.random() * probabilityCount);
Prize prize = null; //中奖商品容器
Set prizeIds = prizeMap.keySet(); //拿到所有奖品id
for (String prizesId: prizeIds)
{
Map oddMap = prizeMap.get(prizesId); //商品的概率
Integer minNum = oddMap.get(min);
Integer maxNum = oddMap.get(max);
//校验index在那个商品概率中间
if (minNum <= index && maxNum > index)
{
prize = prizeDao.getOne(prizesId);
break;
}
}
if (prize == null)
{
prize = null;
}
jsonResult.setObj(prize.getPrizeName());
return jsonResult;
}
运行结果如下:
以上就是有关于如何用java做出一个简单的抽奖程序,这个方法使用范围还是比较广泛的。如果对java感兴趣,想要了解更多java经典例子,敬请关注奇Q工具网。
推荐阅读:
java抽奖程序_java怎么做出简单的抽奖程序?实例代码展示相关推荐
- java同步方法的特点_java多线程有哪些优点?同步实例代码展示
在我们的日常学习当中会发现java的知识点是总是息息相关的,可以串联起来.java中多线程的有关内容可以衍生出更多知识,它的优缺点也是非常明显的.你都了解吗?一起来看看吧. 首先为大家介绍一下,多线程 ...
- android 今日头条加载动画,Android 仿今日头条简单的刷新效果实例代码
点击按钮,先自动进行下拉刷新,也可以手动刷新,刷新完后,最后就多一行数据.有四个选项卡. 前两天导师要求做一个给本科学生预定机房座位的app,出发点来自这里.做着做着遇到很多问题,都解决了.这个效果感 ...
- python对逻辑回归进行显著性_python sklearn库实现简单逻辑回归的实例代码
Sklearn简介 Scikit-learn(sklearn)是机器学习中常用的第三方模块,对常用的机器学习方法进行了封装,包括回归(Regression).降维(Dimensionality Red ...
- 简单下拉菜单html,JavaScript简单下拉菜单实例代码
本文实例讲述了JavaScript简单下拉菜单实例代码.分享给大家供大家参考.具体如下: 这是一款JavaScript实现的下拉菜单演示代码,带渐变效果的CSS+jQuery菜单,向下滑出型的菜单,最 ...
- java 性能 优化_Java十大简单性能优化
java 性能 优化 关于" web scale "这个流行词有很多炒作,人们花了很多时间来重新组织他们的应用程序体系结构,以使其系统"规模化". 但是什么是扩 ...
- 基于JAVA的类与对象做出的英雄打怪兽程序
一.英雄打怪兽 基于Java类与对象的调用而做出的程序. 二.实例代码 1.主函数 代码如下: menu(); 2.menu函数 代码如下: Scanner scanner = new Scanner ...
- python重复抽奖_用Python实现简单的抽奖程序
抽奖基本需求 1.假设中奖概率为:获得 a道具 10% b道具 20% c道具 30% d道具 40% 2.基本的想法是:生成1-100的连续数组,随机生成一个整数,如果是1-10 则中a.10-30 ...
- java运行时_java编译时与运行时概念与实例详解
Java编译时与运行时很重要的概念,但是一直没有明晰,这次专门博客写明白概念. 基础概念 编译时 编译时顾名思义就是正在编译的时候.那啥叫编译呢?就是编译器帮你把源代码翻译成机器能识别的代码.(当然只 ...
- Java模拟拨打电话程序_java_编写android拨打电话apk应用实例代码,android 实现拨打电话的app,代 - phpStudy...
编写android拨打电话apk应用实例代码 android 实现拨打电话的app,代码非常简单,功能也很实用,分享给大家. MainActivity.java package com.bblei.c ...
最新文章
- Docker入门六部曲——服务
- bootstrap 栅栏系统
- java-jvm-full gc频繁的分析及解决
- linux基础(1)-yum源配置
- rf调用的python函数报错_Robot Framework(15)- 扩展关键字
- java遍历map_java遍历Map的几种方法
- 阿里3篇技术论文入选国际顶级会议FAST2020,全球第一!
- PHP扩展库PEAR被攻击,近半年下载者或被影响
- chrome浏览器安装vue调试插件dev-tools
- Linux---阻塞与非阻塞、同步与异步的区别
- 腾讯前端面试题:一言不合就写个五子棋
- vs2015 hiredis编译使用
- cartographer探秘第四章之代码解析(五) --- 后端优化 --- 闭环约束1 --- PrecomputationGrid2D
- mysql多表结果合并查询
- 2021-06-22Oracle常用函数
- 解决 EndNote X9 安装报错 lnstallation ended prematurely because of an error.
- 计算机排版系统程序,《计算机排版系统.doc
- Java刷题细节知识点汇总——partThree
- 第四百九十一章 战利品
- 自动驾驶技术——初学者笔记1:自动驾驶分级