Java实现抽奖功能

5 篇文章 0 订阅

Java实现抽奖功能

商城项目开发中经常会有抽奖这样的活动的需求,这里介绍一种简单的抽奖方式

public static void main(String[] argc) throws Exception {

		//定义一个集合list,可以是用户id,也可以是抽奖号码之类的
        List<Long> list = new ArrayList<Long>();//用户id集合
        list.add(10L);
        list.add(11L);
        list.add(12L);
        list.add(13L);
        list.add(14L);
        list.add(15L);
        list.add(16L);
        list.add(17L);

        List <Long> userId = new ArrayList<>();
        Random random = new Random();
        // 定义一个数组用于存放需要抽奖的名单(长度为参与抽奖的人数)
        Long[] name = new Long[list.size()];
        for (int i = 0;i < name.length;i++) {
            //循环录入
            name[i] = list.get(i);
        }
        //想要抽取的人数(即中奖名额)
        int renShu = 5;
        int index = 0;
        //定义新int数组shuZi
        int[] shuZi = new int[renShu];
        //选出想要选的人数
        while(index < renShu){
            int num = random.nextInt(name.length);
            //当不相同时,实现给shuZi数组赋值,给index自加一,打印输出name数组
            if(!judge(shuZi,num)){
                shuZi[index ++] = num;
                System.out.println("中奖结果====="+name[num]);
                userId.add(name[num]);
            }
        }
        System.out.println("中奖结果集合====="+userId);

    }

    public static boolean judge(int shuZi2[], int key){
        for(int i = 0;i < shuZi2.length;i ++){
            if(shuZi2[i] == key){
                return  true;
            }
        }
        return false;
    }

运行结果:
在这里插入图片描述
这样就ok了

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值