当前位置 : 主页 > 网络编程 > 其它编程 >

JAVA仿微信发红包

来源:互联网 收集:自由互联 发布时间:2023-07-02
第一步:创建一个RedPackage类第二步:写一个测试类最大红包当前剩余钱当前剩余红包个数×2,代码奉上将循环出来的红包放到list里面最后:main方法调用100块 第一步:创建一个RedPackag
第一步:创建一个RedPackage类第二步:写一个测试类最大红包当前剩余钱当前剩余红包个数×2,代码奉上将循环出来的红包放到list里面最后:main方法调用100块

第一步:创建一个RedPackage类

remainSize 剩余的红包数量remainMoney 剩余的钱

public class RedPackage { int remainSize; double remainMoney; public void setRemainSize(int remainSize) { this.remainSize = remainSize; } public void setRemainMoney(double remainMoney) { this.remainMOney= remainMoney; } public int getRemainSize() { return remainSize; } public double getRemainMoney() { return remainMoney; } @Override public String toString() { final StringBuffer sb = new StringBuffer("RedPackage{"); sb.append("remainSize=").append(remainSize); sb.append(", remainMOney=").append(remainMoney); sb.append(‘}‘); return sb.toString(); }}

第二步:写一个测试类

最大红包=当前剩余钱/当前剩余红包个数2,代码奉上

public static double getRandomMoney(RedPackage _redPackage) { // remainSize 剩余的红包数量 // remainMoney 剩余的钱 if (_redPackage.remainSize == 1) { _redPackage.remainSize--; return (double) Math.round(_redPackage.remainMoney * 100) / 100; } Random r = new Random(); double min = 0.01; // double max = _redPackage.remainMoney / _redPackage.remainSize * 2; double mOney= r.nextDouble() * max; money = money <= min ? 0.01 : money; money = Math.floor(money * 100) / 100; _redPackage.remainSize--; _redPackage.remainMoney -= money; return money; }

将循环出来的红包放到list里面

/** * 每次产生一个红包 * * @param money 总金额 * @param count 数量 * @return */ public static List listRedPacket(double money, int count) { RedPackage redPackage = new RedPackage(); List list = new ArrayList(); double mon = 0; double mOny= 0; for (int i = 0; i 最后:main方法调用100块钱5个包

public static void main(String[] args) { test redPacket = new test();for (int i = 0; i <10; i++) { List list2 = redPacket.listRedPacket(100, 5); System.out.println(list2); } }

结果:

技术分享图片

上一篇:经典小鸡算法
下一篇:没有了
网友评论