public static List<Integer> divideRedPackage(Integer totalAmount, Integer totalPeopleNum){ List<Integer> amountList = new ArrayList<Integer>(); Integer restAmount = totalAmount; Integer restPeopleNum = totalPeopleNum; Random random = new Random(); for(int i = 0; i < totalPeopleNum-1; i++){ int amount = random.nextInt(restAmount / restPeopleNum * 2 - 1) + 1; restAmount -= amount; restPeopleNum --; amountList.add(amount); } amountList.add(restAmount); return amountList; } public static void main(String[] args) { List<Integer> amountList = divideRedPackage(5000, 30); for(Integer amount : amountList){ System.out.println("抢到的金额:" + new BigDecimal(amount).divide(new BigDecimal(100))); } }