- 群主发普通红包。某群有多名成员,群主给成员发普通红包。普通红包的规则:
- 群主的一笔金额,从群主余额中扣除,平均分成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();
}
}