当前位置 博文首页 > m0_49068056的博客:发红包案例

    m0_49068056的博客:发红包案例

    作者:[db:作者] 时间:2021-07-05 19:04

    看视频学习了一下,发红包案例,哈哈哈哈。
    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();
        }
    }
    
    cs
    下一篇:没有了