自从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 < String, Map < String, Integer >> prizeMap = new HashMap < > (); //获取商品列表 List < Prize > prizeList = prizeDao.findAll(); for (Prize prize: prizeList) { Map < String, Integer > 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 < String > prizeIds = prizeMap.keySet(); //拿到所有奖品id for (String prizesId: prizeIds) { Map < String, Integer > 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工具网。
推荐阅读: