您的位置:首页 > 编程语言 > Java开发

发红包算法简单实现

2015-02-14 23:54 155 查看
没到年底,红包就满天飞,自己实现了个简单的发红包算法,简单测试没发现明显bug,直接上代码了,命名有点不规范

        //分红包
private static void fenhongbao(Random rd, float totalNum, int peopleNum){
float reveage = keep2Dot(totalNum / peopleNum);
System.out.println("平均:" + reveage);
float perNum = 0;
float tmpSum = 0;
for(int i = 0; i < peopleNum; i++){
if(i == (peopleNum - 1)){
perNum = keep2Dot(totalNum - tmpSum);
}else{
float nf = keep2Dot(rd.nextFloat() + 0.5f);
perNum = keep2Dot(nf * reveage);
}
tmpSum += perNum;
System.out.println("第" + (i + 1) + "人" + "领了" + perNum + "元");
}
System.out.println("总共:" + keep2Dot(tmpSum));
}

private static float keep2Dot(float f){
f = Math.round(f * 100) / 100.0f; 
return f;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Java 红包 算法