public class Test {
/***
* 红包数量
*/
public static int remainSize = 5;
/**
* 红包金额
*/
public static double remainMoney = 1000;
public static double getRandomMoney() {
/**
* remainSize 剩余的红包数量
* remainMoney 剩余的钱
*/
//判断是否最后一个红包
if (remainSize == 1) {
remainSize --;
return (double) Math.round(remainMoney * 100) / 100;
}
Random ran = new Random();
//最小红包是1分钱
double min = 0.01;
//最大红包,剩余钱平均数的2倍
double max = remainMoney / remainSize * 2;
//在最小和最大红包之间产生一个随机数
double money = ran.nextDouble() * max;
money = money <= min ? 0.01 : money;
money = Math.floor(money * 100) / 100;
remainSize --;
remainMoney -= money;
return money;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int k = remainSize;
for (int i = 0; i < k; i++) {
double money = Test.getRandomMoney();
System.out.print(money + "\t");
}
}
}