抢红包是钱数都是随机的,要写出完全是凭运气的代码才行
思想:肯定是要利用随机数的,大概一想,是这么个回事。那么,怎么利用随机数做到公平了,想到两种比较好的办法,假如是5个人,抢10块钱
1,首先生成5个随机数,然后利用每个随机数在5个随机数中所占的比例分配钱数。
2,首先生成4个随机数,然后排序,将这4个随机数放在0~10块的坐标上,截取5段,这5段就是钱数。
当然,还得考虑一个问题,钱数是两位小数的,且最少的钱也是0.01;这就可能麻烦点了。
写的是第一种方法的代码,第二种以后再写,比较完整的抢红包也会在之后写,这之中还用到了double类型的加减法,需要BigDecimal类,在上一篇已经介绍:
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
public class TestMoney {
public static void main(String[] args) {