群发红包 java
时间: 2023-10-11 15:20:15 浏览: 90
好的,群发红包主要需要以下几个步骤:
1. 读取红包金额和人数,计算出每个人可获得的红包金额;
2. 生成红包序列,即将红包金额随机分配给每个人;
3. 将红包序列发送给每个人。
以下是一个简单的 Java 代码实现:
```java
import java.util.ArrayList;
import java.util.Random;
public class RedPacket {
private int totalAmount; // 总金额
private int totalPeopleNum; // 总人数
public RedPacket(int amount, int num) {
this.totalAmount = amount;
this.totalPeopleNum = num;
}
public ArrayList<Integer> divideRedPacket() {
ArrayList<Integer> amountList = new ArrayList<Integer>();
int restAmount = totalAmount;
int 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) {
RedPacket redPacket = new RedPacket(100, 10);
ArrayList<Integer> amountList = redPacket.divideRedPacket();
for (Integer amount : amountList) {
System.out.println(amount);
}
}
}
```
这个程序中,我们首先定义了一个 RedPacket 类,其中包含了总金额和总人数。divideRedPacket() 方法用于生成红包序列,它采用了二倍均值法,即每个人可获得的金额为(剩余金额 ÷ 剩余人数)× 2 的随机值。最后,我们将生成的红包序列输出到控制台上。