利用JAVA中的知识做一个拼手气红包
基于BigDecimal类实现微信红包算法的功能,比如设置红包总金额,然后设置需要生成的红包个数,为每个红包随机指定金额,最低不能低于0.01元,要求:
- 每个红包金额随机指定
- 每个红包金额不能低于0.01元
- 要求每个红包的金额之和恰好等于总金额
- 如果平均每个红包的金额不足0.01元时抛出一个RedPacketException,提示每个红包金额不能少于0.01元
解:居于以上要求,我们需要创建三个类来达到要求和效果:
1.红包类(将红包的各种属性写在一个类里面)
/**
* 红包类
* @author Acer
*
*/
import java.math.BigDecimal;
public class RedPacket {
// 红包ID
private int id;
// 红包金额
private BigDecimal money;
// 无参构造器
public RedPacket() {
}
// 带所有属性的构造器
public RedPacket(int id, BigDecimal money) {
super();
this.id = id;
this.money = money;
}
// 导出所有的setter和getter方法,用来在别的对象调用这些私有属性
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public BigDecimal getMoney() {
return money;
}
public void setMoney(BigDecimal money) {
this.money = money;
}
// 利用to string 方法将属性打印在控制台
@Override
public String toString() {
return "RedPacket [id=" + id

本文介绍如何利用JAVA中的BigDecimal类实现微信拼手气红包功能。通过创建红包类、异常类和方法类,确保每个红包金额随机且不低于0.01元,总额精确匹配,当平均金额不足0.01元时抛出异常。
最低0.47元/天 解锁文章

1116

被折叠的 条评论
为什么被折叠?



