如何将Java仿微信发红包功能改写为长尾关键词?
- 内容介绍
- 文章标签
- 相关推荐
本文共计499个文字,预计阅读时间需要2分钟。
第一步:创建一个RedPackage类第二步:编写一个测试类,测试最大红包当前剩余金额当前剩余红包个数代码如下:pythonclass RedPackage: def __init__(self, total_money, total_count, each_max): self.total_money=total_money self.total_count=total_count self.each_max=each_max self.list=[]
def get_red_packets(self): current_money=self.total_money current_count=self.total_count while current_money > 0 and current_count > 0: each_money=min(current_money, self.each_max) self.list.append(each_money) current_money -=each_money current_count -=1 return self.list
def main(): red_package=RedPackage(100, 100, 2) packets=red_package.get_red_packets() print(packets)
if __name__==__main__: main()
第一步:创建一个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
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); } }
结果:
本文共计499个文字,预计阅读时间需要2分钟。
第一步:创建一个RedPackage类第二步:编写一个测试类,测试最大红包当前剩余金额当前剩余红包个数代码如下:pythonclass RedPackage: def __init__(self, total_money, total_count, each_max): self.total_money=total_money self.total_count=total_count self.each_max=each_max self.list=[]
def get_red_packets(self): current_money=self.total_money current_count=self.total_count while current_money > 0 and current_count > 0: each_money=min(current_money, self.each_max) self.list.append(each_money) current_money -=each_money current_count -=1 return self.list
def main(): red_package=RedPackage(100, 100, 2) packets=red_package.get_red_packets() print(packets)
if __name__==__main__: main()
第一步:创建一个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
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); } }
结果:

