发红包案例

it2026-09-28  9

发红包案例

群主发普通红包。某群有多名成员,群主给成员发普通红红包。普通红包规则。

群主有一笔金额,从群余额里面扣除,平均分成你等份,让成员领取。成员领取红包后,保存在成员余额中。 请根据描述,完成案例中所有类的定义以及指定类之间的继承关系,并完成发红包的操作。

源代码:

User类

package deme02; public class User { private String name; private int money; public User() { } public User(String name, int money) { this.name = name; this.money = money; } public void show(){ System.out.println("姓名:"+name+" 余额:"+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; } }

Manage类

package deme02; import java.util.ArrayList; public class Manager extends User { public Manager() { } public Manager(String name, int money) { super(name, money); } public ArrayList<Integer> send(int sendMoney,int count){ //用一个集合来存储若干个红包金额 ArrayList<Integer> redList=new ArrayList<>(); int allMoney=super.getMoney(); //查看自己总金额 if (allMoney<sendMoney){ System.out.println("余额不足"); return redList; //判断余额够不够发 } super.setMoney(allMoney-sendMoney); //更新发完红包后的余额 int avg=sendMoney/count; int mod=sendMoney%count; for (int i = 0; i < count-1; i++) { redList.add(avg); } int lastAvg=avg+mod; redList.add(lastAvg); //分不开的余额加入最后一个红包里 return redList; } }

Emplyee类

package deme02; import java.util.ArrayList; import java.util.Random; public class Employee extends User { public Employee() { } public Employee(String name, int money) { super(name, money); } public void receive(ArrayList<Integer> list){ int index=new Random().nextInt(list.size()); //从多个红包当中随机抽取一个给自己,随机抽取一个索引编号 int delta= list.remove(index); //将抢到的红包删除并赋予给自己 int money=super.getMoney(); //查看本来余额 super.setMoney(money+delta); //重新设置金额 } }

实现Text类

package deme02; import java.util.ArrayList; public class TextRedList { public static void main(String[] args) { Manager manager=new Manager("刘某人",100); Employee one=new Employee("罗某人",0); Employee two=new Employee("浦某人",0); Employee three=new Employee("吕某人",0); Employee four=new Employee("石某人",0); Employee five=new Employee("李某人",0); manager.show(); one.show(); two.show(); three.show(); four.show(); five.show(); System.out.println("========================="); ArrayList<Integer> redList=manager.send(21,5); one.receive(redList); two.receive(redList); three.receive(redList); four.receive(redList); five.receive(redList); manager.show(); one.show(); two.show(); three.show(); four.show(); five.show(); } }
最新回复(0)