看视频学习了一下,发红包案例,哈哈哈哈。 public class User { private int money; private String name; public User() { } public User(int money, String name) { this.money = money; this.name = name; } public void show(){ System.out.println("我的名字是:"+name+",余额还有:"+money+"。"); } public int getMoney() { return money; } public void setMoney(int money) { this.money = money; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
import java.util.ArrayList; /** * 群主类 */ public class Manager extends User { public Manager() { } public Manager(int money, String name) { super(money, name); } public ArrayList<Integer> send(int totalMoney,int count){ //先创一个集合,把红包放入集合。 ArrayList<Integer> redllist = new ArrayList<>(); //首先查看一下群主有多少钱 int lifeMoney = super.getMoney(); //发红包的钱不能超过群主原有的金钱 if (totalMoney > lifeMoney){ System.out.println("余额不足。"); return redllist;//返回一个空集合 } //扣钱其实就是重新设置金额把剩余的钱放回去 super.setMoney(lifeMoney-totalMoney);//好像写于不写没差别 //发红包要平均分成count份 int avg = totalMoney / count; int dae = totalMoney % count;//余下的零头 //除不开的零头放到最后一个红包中 //下面把红包一个一个放到红包当中 for (int i = 0; i < count-1; i++) { redllist.add(avg); } //最后一个红包 int last = avg + dae; redllist.add(last); return redllist; } }
import java.util.ArrayList; import java.util.Random; public class Number extends User { public Number() { } public Number(int money, String name) { super(money, name); } public void receive(ArrayList<Integer> list){ //从多个红包中随机抽取一个,给我自己。 //随机获取一个集合当中的几何编号 int index = new Random().nextInt(list.size()); //根据索引,从集合中删除,并找到删除的红包,给自己 int sd = list.remove(index); //当前成员自己本来有多少钱 int money = super.getMoney(); //加法,并重新设置回去 super.setMoney(money + sd); } }
import asd.demo06.Manage; import java.util.ArrayList; public class test { public static void main(String[] args) { Manage manage = new Manage("胡总",100); Number one = new Number(0,"成员A"); Number two = new Number(0,"成员B"); Number three = new Number(0,"成员C"); manage.show(); one.show(); two.show(); three.show(); System.out.println("====================="); ArrayList<Integer> list = manage.send(20,3); one.receive(list); two.receive(list); three.receive(list); manage.show(); one.show(); two.show(); three.show(); } }