JAVA抽奖算法

本文介绍了作者为项目设计的JAVA抽奖功能,奖项包括一等奖到四等奖。抽奖规则为用户通过任务获取资格,点击抽奖后随机抽取奖项。设计思路涉及创建随机排序的奖池,生成随机数并与奖池下标比对,最后根据下标确定奖项。作者表示代码逻辑可能不简洁高效,期待同行的指教和交流。
摘要由CSDN通过智能技术生成

         最近因项目需要,设计抽奖功能,在网上学习了很多前辈的思路,但感觉跟项目需求有偏差,因此按业务逻辑重新设计了一下。

         东西很Low,但好歹是个成果,希望拿出来和大家分享,也希望大家提出批评,我喜欢在学习中进步的感觉。

         奖项设置:

         一等奖(1名)、二等奖(3名)、三等奖(5名)、四等奖(50名);

         抽奖规则:

         用户通过其他任务获得抽奖资格,然后进入抽奖页面点击抽奖,抽中相应奖项后发送通知。

         设计思路:

         1.建立奖池,包含所有奖项和一定数量的未中奖选项,奖池内选项需是随机排序;

         2.生成随机数,范围和奖池长度相同;

         3.从奖池内随机抽取一个下标,将随机数和下标进行对比,相同则进入奖池;

         4.进入奖池后,根据该下标找值,并做出相应判断。

         以下是代码,自我感觉逻辑很乱,不够简便高效,本文章说是分享有点给自己贴金了,其实就是想大家求教.

package test;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Random
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值