您的位置:首页 > 移动开发 > 微信开发

微信红包算法

2016-02-18 10:12 513 查看
微信红包怎么出现随机金额,主要是随机数产生

package com.example.hongbao;

import java.util.Random;

public class MyClass {
public static class MoneyPackage
{
public int peoples;
public double money;
}
public static double getRandomMoney(MoneyPackage moneyPackage)
{
if(moneyPackage.peoples==1)
{
moneyPackage.peoples--;
return (double)Math.round(moneyPackage.money*100)/100;
}
Random r=new Random();
double min=0.01;
double max=moneyPackage.money/moneyPackage.peoples*2;
double money=r.nextDouble()*max;
money=money<min?min:money;
money=(double) Math.floor(money*100)/100;
moneyPackage.peoples--;
moneyPackage.money-=money;
return  money;
}

public static void main(String[] args) throws Exception
{
MoneyPackage moneyPackage=new MoneyPackage();
moneyPackage.peoples=10;
moneyPackage.money=40;
int ccount=moneyPackage.peoples;
for(int i=0;i<ccount;i++)
{
System.out.println("person:"+i+":get money:"+getRandomMoney(moneyPackage));
}
}
}
运行三次的结果如下:





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: