java实现抢红包,尾数出现指定的数字和抢到指定数字的概率
时间: 2024-03-12 15:42:58 浏览: 27
实现抢红包可以采用以下步骤:
1. 将要发红包的金额按一定规则分配给多个抢红包的人,可以采用随机分配的方式,也可以采用平均分配的方式。
2. 对于尾数出现指定数字的概率,可以先计算出所有金额的个位数,再计算出个位数为指定数字的金额总和,最后用个位数为指定数字的金额总和除以所有金额的总和,即可得到尾数出现指定数字的概率。
3. 对于抢到指定数字的概率,可以在抢红包的过程中判断每个人所抢到的金额的个位数是否为指定数字,再计算出个位数为指定数字的金额总和,最后用个位数为指定数字的金额总和除以所有金额的总和,即可得到抢到指定数字的概率。
以下是一个简单的Java实现:
```
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class RedPacket {
private List<Double> redPacketList = new ArrayList<>();
private double totalAmount;
public RedPacket(double amount, int count) {
totalAmount = amount;
Random random = new Random();
for (int i = 0; i < count; i++) {
double money = random.nextDouble() * (totalAmount / count * 2);
redPacketList.add(money);
totalAmount -= money;
}
}
public double getTailNumberProbability(int number) {
int tailNumberCount = 0;
for (double money : redPacketList) {
if ((int) money % 10 == number) {
tailNumberCount++;
}
}
return (double) tailNumberCount / redPacketList.size();
}
public double getLuckyNumberProbability(int number) {
double luckyNumberAmount = 0;
for (double money : redPacketList) {
if ((int) money % 10 == number) {
luckyNumberAmount += money;
}
}
return luckyNumberAmount / totalAmount;
}
public static void main(String[] args) {
RedPacket redPacket = new RedPacket(100, 10);
System.out.println("尾数为5的概率:" + redPacket.getTailNumberProbability(5));
System.out.println("抢到尾数为5的概率:" + redPacket.getLuckyNumberProbability(5));
}
}
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![dsn](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)