随机红包算法(Java)

public class hongbao {

@Test

public void testHongbao(){

hb(100, 100, 0.01);//金额,个数,最少值

}

void hb(double total,int num,double min){

for(int i=1;i<num;i++){

double safe_total=(total-(num-i)*min)/(num-i);

double money=Math.random()*(safe_total-min)+min;

BigDecimal money_bd=new BigDecimal(money);

money=money_bd.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue(); 

total=total-money;

BigDecimal total_bd=new BigDecimal(total);

total=total_bd.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();

System.out.println("第"+i+"个红包:"+money+",余额为:"+total+"元");

}

System.out.println("第"+num+"个红包:"+total+",余额为:0元");

}

void zb(){

for(int a=0;a<=10000;a++){

if(a % 1000== 0)

System.out.println (a);

}

}

 

}

转载于:https://www.cnblogs.com/yang5201314/p/5784058.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值