/**
*先定义一个父类
*
**/
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;
}
}
import java.util.ArrayList;
public class Manager extends User {
public Manager(String name, int money) {
super(name, money);
}
/**
*用ArrayList来储存群主发出的红包
*
**/
public ArrayList<Integer> send(int totalMoney, int count) {
ArrayList<Integer> array = new ArrayList<>();
// 群主有多少钱
int money = super.getMoney();
//发出的红包和自身的钱进行比较
if (totalMoney > money) {
System.out.println("余额不足");
return array;
}
// 群主剩余的钱
super.setMoney(money-totalMoney);
int SendMoney = totalMoney / count; //发出去钱的整数型
int superMoney = totalMoney % count; //发出去钱的余数
for (int i = 0; i < count-1; i++) { //由于只判断整数型,所以余数和整数后面相加,只判断count -1 次
array.add(SendMoney);
}
int last = SendMoney + superMoney;
array.add(last);
return array;
}
}
import java.util.ArrayList;
import java.util.Random;
public class MenMber extends User{
public MenMber(String name, int money) {
super(name, money);
}
public void receive(ArrayList<Integer> array) {
//普通人员有多少钱
int money=super.getMoney();
//获取随机红包
int index =new Random().nextInt(array.size());
//抽取到红包需要删除,然后自己获得
int data =array.remove(index);
//接收到红包自己总共的
super.setMoney(data+money);
}
}
import java.util.ArrayList;
public class Mainteat {
public static void main(String[] args) {
Manager manager =new Manager("群主", 100);
MenMber menmber =new MenMber("普通人员", 0);
MenMber menmber1 =new MenMber("普通人员1", 0);
MenMber menmber2=new MenMber("普通人员2", 0);
manager.show();
menmber.show();
menmber1.show();
menmber2.show();
ArrayList<Integer> array =manager.send(20, 3);
menmber.receive(array);
menmber1.receive(array);
menmber2.receive(array);
manager.show();
menmber.show();
menmber1.show();
menmber2.show();
}
}