自从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怎么做出简单的抽奖程序?实例代码展示相关推荐

  1. java同步方法的特点_java多线程有哪些优点?同步实例代码展示

    在我们的日常学习当中会发现java的知识点是总是息息相关的,可以串联起来.java中多线程的有关内容可以衍生出更多知识,它的优缺点也是非常明显的.你都了解吗?一起来看看吧. 首先为大家介绍一下,多线程 ...

  2. android 今日头条加载动画,Android 仿今日头条简单的刷新效果实例代码

    点击按钮,先自动进行下拉刷新,也可以手动刷新,刷新完后,最后就多一行数据.有四个选项卡. 前两天导师要求做一个给本科学生预定机房座位的app,出发点来自这里.做着做着遇到很多问题,都解决了.这个效果感 ...

  3. python对逻辑回归进行显著性_python sklearn库实现简单逻辑回归的实例代码

    Sklearn简介 Scikit-learn(sklearn)是机器学习中常用的第三方模块,对常用的机器学习方法进行了封装,包括回归(Regression).降维(Dimensionality Red ...

  4. 简单下拉菜单html,JavaScript简单下拉菜单实例代码

    本文实例讲述了JavaScript简单下拉菜单实例代码.分享给大家供大家参考.具体如下: 这是一款JavaScript实现的下拉菜单演示代码,带渐变效果的CSS+jQuery菜单,向下滑出型的菜单,最 ...

  5. java 性能 优化_Java十大简单性能优化

    java 性能 优化 关于" web scale "这个流行词有很多炒作,人们花了很多时间来重新组织他们的应用程序体系结构,以使其系统"规模化". 但是什么是扩 ...

  6. 基于JAVA的类与对象做出的英雄打怪兽程序

    一.英雄打怪兽 基于Java类与对象的调用而做出的程序. 二.实例代码 1.主函数 代码如下: menu(); 2.menu函数 代码如下: Scanner scanner = new Scanner ...

  7. python重复抽奖_用Python实现简单的抽奖程序

    抽奖基本需求 1.假设中奖概率为:获得 a道具 10% b道具 20% c道具 30% d道具 40% 2.基本的想法是:生成1-100的连续数组,随机生成一个整数,如果是1-10 则中a.10-30 ...

  8. java运行时_java编译时与运行时概念与实例详解

    Java编译时与运行时很重要的概念,但是一直没有明晰,这次专门博客写明白概念. 基础概念 编译时 编译时顾名思义就是正在编译的时候.那啥叫编译呢?就是编译器帮你把源代码翻译成机器能识别的代码.(当然只 ...

  9. Java模拟拨打电话程序_java_编写android拨打电话apk应用实例代码,android 实现拨打电话的app,代 - phpStudy...

    编写android拨打电话apk应用实例代码 android 实现拨打电话的app,代码非常简单,功能也很实用,分享给大家. MainActivity.java package com.bblei.c ...

最新文章

  1. Docker入门六部曲——服务
  2. bootstrap 栅栏系统
  3. java-jvm-full gc频繁的分析及解决
  4. linux基础(1)-yum源配置
  5. rf调用的python函数报错_Robot Framework(15)- 扩展关键字
  6. java遍历map_java遍历Map的几种方法
  7. 阿里3篇技术论文入选国际顶级会议FAST2020,全球第一!
  8. PHP扩展库PEAR被攻击,近半年下载者或被影响
  9. chrome浏览器安装vue调试插件dev-tools
  10. Linux---阻塞与非阻塞、同步与异步的区别
  11. 腾讯前端面试题:一言不合就写个五子棋
  12. vs2015 hiredis编译使用
  13. cartographer探秘第四章之代码解析(五) --- 后端优化 --- 闭环约束1 --- PrecomputationGrid2D
  14. mysql多表结果合并查询
  15. 2021-06-22Oracle常用函数
  16. 解决 EndNote X9 安装报错 lnstallation ended prematurely because of an error.
  17. 计算机排版系统程序,《计算机排版系统.doc
  18. Java刷题细节知识点汇总——partThree
  19. 第四百九十一章 战利品
  20. 自动驾驶技术——初学者笔记1:自动驾驶分级

热门文章

  1. 营销管理手册_1000份!先到先得!活动管理手册+营销学院全网首发!
  2. vivado原语BUFHCE
  3. item_recommend - 获取推荐商品列表(淘宝)
  4. Android游戏语音SDK及功能实现流程
  5. 硬币翻转问题-c++
  6. 优秀项目经理应备技能02-项目的定义与特性
  7. 苏州市某房地产开发有限公司能耗监测系统的设计与应用
  8. 破解myeclipse 10
  9. 超容易上手的嵌入式开发,小孩也可以
  10. 青松资讯:李逵遇李鬼,浅谈Android上的“冒牌货”恶意软件