Java版 微信红包算法,java信红包算法, private dou
分享于 点击 32798 次 点评:91
Java版 微信红包算法,java信红包算法, private dou
private double[] divide(double totalMoney,int num,double minMoney){ double[] each = new double[num]; for(int i=0;i<num-1;i++){ //计算最大安全值,保证不会超出 。如果安全值越大,价格波动越大 .建议是平均值 double maxSafeMoney = (totalMoney - (num-1-i)*minMoney) / (num-1-i); //随机算出最小值,保证不低于最小值 each[i] = Math.random()*(maxSafeMoney-minMoney)+minMoney; //计算当前剩下的钱 totalMoney = totalMoney - each[i]; } each[num-1] = totalMoney; return each; } @Test public void test3(){ double[] rs = divide(200,10,0.01); for(double each:rs){ System.out.format("%.2f\n",each); } }
结果:java16.7021.3718.8912.1311.3523.2124.327.3914.1050.57
用户点评