- 群主发普通红包。某群有多名成员,群主给成员发普通红包。普通红包的规则:
- 群主的一笔金额,从群主余额中扣除,平均分成n等份。,让成员领取。
- 成员领取红包后,保存到成员余额中。
请根据描述,完成案例中所有类的定义以及指定类之间的继承关系,并完成发红包的操作。
| |
| public class User { |
| private String username; |
| private int balance; |
| |
| public User(String username, int balance) { |
| this.username = username; |
| this.balance = balance; |
| } |
| |
| |
| public void checkBalance() { |
| System.out.println(username+"余额还有:"+balance); |
| } |
| |
| public String getUsername() { |
| return username; |
| } |
| |
| public void setUsername(String username) { |
| this.username = username; |
| } |
| |
| public int getBalance() { |
| return balance; |
| } |
| |
| public void setBalance(int balance) { |
| this.balance = balance; |
| } |
| } |
| package com.zhou.day0825.redpacket; |
| |
| import java.util.ArrayList; |
| |
| |
| public class GroupOwner extends User{ |
| |
| public GroupOwner(String username,int balance) { |
| super(username,balance); |
| } |
| |
| |
| |
| public ArrayList<Integer> sengRedPacket(int money,int count) { |
| |
| ArrayList<Integer> redPacket = null; |
| |
| |
| if (money>getBalance()) { |
| System.out.println("抱歉,余额不足"); |
| return redPacket; |
| } |
| redPacket = new ArrayList<Integer>(); |
| int avg = money/count; |
| int mod = money%count; |
| for (int i = 0;i<count-1;i++) { |
| redPacket.add(avg); |
| } |
| redPacket.add(avg+mod); |
| setBalance(getBalance()-money); |
| return redPacket; |
| } |
| } |
| |
| import java.util.ArrayList; |
| import java.util.Random; |
| |
| |
| public class Member extends User{ |
| |
| public Member(String username, int balance) { |
| super(username, balance); |
| } |
| |
| |
| public void receiveRedPacket(ArrayList<Integer> list) { |
| |
| Random rd = new Random(); |
| int index = rd.nextInt(list.size()); |
| Integer m = list.get(index); |
| setBalance(getBalance()+m); |
| |
| list.remove(index); |
| } |
| } |
| |
| package com.zhou.day0825.redpacket; |
| |
| |
| import java.util.ArrayList; |
| |
| public class Test { |
| public static void main(String[] args) { |
| GroupOwner group = new GroupOwner("刘老师",100); |
| group.checkBalance(); |
| ArrayList<Integer> list = group.sengRedPacket(10,3); |
| |
| |
| |
| |
| |
| Member m1 = new Member("小周",1000); |
| Member m2 = new Member("小景",1000); |
| Member m3 = new Member("小宋",1000); |
| m1.receiveRedPacket(list); |
| m2.receiveRedPacket(list); |
| m3.receiveRedPacket(list); |
| |
| m1.checkBalance(); |
| m2.checkBalance(); |
| m3.checkBalance(); |
| } |
| } |
| |
本文作者:小周和java
本文链接:https://www.cnblogs.com/xzandjava/p/16624536.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步