public class User {private String name;private int currentMoney;public void show() {System.out.println("我是" + getName() + ",我现在有" + currentMoney + "元。");}public User() {}public User(String name, int currentMoney) {this.name = name;this.currentMoney = currentMoney;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getCurrentMoney() {return currentMoney;}public void setCurrentMoney(int currentMoney) {this.currentMoney = currentMoney;}}
import java.util.ArrayList;public class Manager extends User {public Manager() {}public Manager(String name, int currentMoney) {super(name, currentMoney);}public ArrayList<Integer> send(int totalMoney, int num) {int average = totalMoney / num;int remainder = totalMoney % num;ArrayList<Integer> list = new ArrayList<>();for (int i = 0; i < num - 1; i++) {list.add(average);}int last = average + remainder;list.add(last);int currentMoney = super.getCurrentMoney();super.setCurrentMoney(currentMoney - totalMoney);return list;}
}
import java.util.ArrayList;
import java.util.Random;public class Member extends User {public Member() {}public Member(String name, int currentMoney) {super(name, currentMoney);}public void recieve(ArrayList<Integer> list) {Random r = new Random();int index = r.nextInt(list.size());int get = list.remove(index);super.setCurrentMoney(get);}
}
import java.util.ArrayList;
public class SendLuckyMoney {public static void main(String[] args){Manager ma = new Manager("Peter",100);ma.show();ArrayList<Integer> list = ma.send(20, 3);ma.show();Member me1 = new Member("Jack",0);Member me2 = new Member("Tom",0);Member me3 = new Member("Tim",0);me1.recieve(list);me1.show();me2.recieve(list);me2.show();me3.recieve(list);me3.show();}
}
输出:
我是Peter,我现在有100元。
我是Peter,我现在有80元。
我是Jack,我现在有6元。
我是Tom,我现在有6元。
我是Tim,我现在有8元。