发红包案例
发红包案例
群主发普通红包。某群有多名成员,群主给成员发普通红包。普通红包的规则;
1.群主的一笔金额从群主余额中扣除,平均分成n等份,让成员领取。
2.成员领取红包后,保存到成员余额中。
请根据描述,完成案例中所有类的定义以及指定类之间的继承关系,并完成发红包的操作。
发红包的逻辑,三要素:
返回值类型: ArrayList<Integer>
方法名称:send
参数列表:1、总共发多少钱 int totalMoney
2、分成多少份 int count
收红包的逻辑,三要素:
返回值类型:void
方法名称:receive
参数列表:ArrayList<Integer>
public class User { private String name; private int money; //展示余额 public void show(){ System.out.println("我叫:"+name+",我有"+money); } public User() { } public User(String name, int money) { this.name = name; this.money = money; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getMoney() { return money; } public void setMoney(int money) { this.money = money; } }
public class Manager extends User{ public Manager() { } public Manager(String name, int money) { super(name, money); } //发红包 public ArrayList<Integer> send(int totalMoney,int count){ ArrayList<Integer> list = new ArrayList<>(); int money = super.getMoney(); if (totalMoney>money){ System.out.println("余额不足"); return list; } super.setMoney(money-totalMoney); int avg = totalMoney/count; int mod = totalMoney%count; for (int i = 0; i < count-1; i++) { list.add(avg); } list.add(avg+mod); return list; } }
public class Member extends User{ public Member() { } public Member(String name, int money) { super(name, money); } //收红包 public void receive(ArrayList<Integer> list){ int index = new Random().nextInt(list.size()); Integer delta = list.remove(index); int money = super.getMoney(); super.setMoney(money+delta); } }
public class Test { public static void main(String[] args) { Manager manager = new Manager("群主",500); Member one = new Member("成员A",0); Member two = new Member("成员B",0); Member three = new Member("成员C",0); manager.show(); one.show(); two.show(); three.show(); System.out.println("================="); ArrayList<Integer> list = manager.send(200, 3); one.receive(list); two.receive(list); three.receive(list); manager.show(); one.show(); two.show(); three.show(); } }
运行结果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix