我是靠谱客的博主 怡然野狼,最近开发中收集的这篇文章主要介绍写微信红包随机算法思想,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

大致思路:
1,先输入微信红包大小
2,输入红包的个数
3,先将红包的钱数,通过范围,不断在区间进行抽取,
如:红包钱数100,红包个数5 ,第一个红包的在(1,100)之间抽取,加入抽取的红包为40.则第二个红包再(1,60)之间抽取,以此类推。
4,再讲每份红包随机发放。

首先:先进行随机数的学习。
关于java.util.Random提供的类

public static void main(String[] args) {
        // TODO Auto-generated method stub
        Random r = new Random();//随机数函数
        for(int i = 1;i<10;i++) {
            System.out.println(20+r.nextInt(10));//此代码的意思为,在范围(20,30)之间来随机取int型数据
        }
    }

nextInt()中的整数值是在这个基础上添加的的范围。
可以利用此来进行红包大小瓜分。

/*
     * 思路:
     * 定义红包数目
     * 需要一个变量来减掉每次提取的红包,并输出这个红包数目,
     * 并需要一个变量来进行来表示剩下红包的多少,
     * 当最后一个红包时,不用再随机了,直接输出
     * 
     * 遇到的问题,当前面的红包过大,不够后面分的时候,不行。
     * 所以每个红包的数目必须对剩下的红包都有分配,则必须对剩下的红包都留个备份,每个红包留一块钱,则剩下的钱就进行随机。
     * 当对下一个的时候,则需要将一块钱加上上次剩下的红包钱数。
     * 
     * */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Random r=new Random();//随机数函数
        int next;//用来存放下一个钱数的最大值
        int m = 0;//进行对剩下红包
        for(int i = 1;i<=10;i++) {
            next = 1+r.nextInt(100-m-10+i);//为剩下的红包每个红包留一块钱,防止接下来的红包不够分。
            m = m+next;
            System.out.println(next);
            if(i==9)//当最后一个红包时,直接输出。
            {
                System.out.println(100-m);
                break;//跳出循环
            }
        }
    }

以上代码虽然瓜分了100块,但是不好的影响是后面的红包大多为一块钱。。

最后

以上就是怡然野狼为你收集整理的写微信红包随机算法思想的全部内容,希望文章能够帮你解决写微信红包随机算法思想所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部