23-一个关于继承的综合示例---发红包程序

//User.java
public class User {
    String name;
    int money;

    public User() {

    }

    public User(String name, int money) {
        this.name = name;
        this.money = money;
    }

    public void show()
    {
        System.out.println("用户"+ this.name+"剩余:"+this.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;
    }
}


//Manager .java

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 money, int count)
    {
        ArrayList<Integer> aList = new ArrayList<>();
        int left = super.money;
        if (left < money){
            System.out.println("余额不足");
            return aList;
        }
        super.setMoney(left - money);
        int avg = money/count;
        int mod = money%count;
        for (int i = 0; i < count-1 ; i++) {
            aList.add(avg);
        }
        aList.add(avg+mod);
        return aList;

    }
}


//Member.java
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Random;
import java.util.RandomAccess;

public class Member extends User{
    public Member() {
    }

    public Member(String name, int money) {
        super(name, money);
    }

    public void receive(ArrayList<Integer> moneyList) {
        int have = super.money;
        int index = new Random().nextInt(moneyList.size());
        int money = moneyList.remove(index);
        super.setMoney(have+money);
    }
}

//DemoExample .java

import java.util.ArrayList;

public class DemoExample {
    public static void main(String[] args) {
        Manager mg = new Manager("群主",100);
        Member mA = new Member("用户A",0);
        Member mB = new Member("用户B",0);
        Member mC = new Member("用户C",0);

        mg.show();
        mA.show();
        mB.show();
        mC.show();

        ArrayList<Integer> aList = new ArrayList<>();
        aList = mg.send(20,3);
        mA.receive(aList);
        mB.receive(aList);
        mC.receive(aList);

        System.out.println("==================================");

        mg.show();
        mA.show();
        mB.show();
        mC.show();
    }


}

运行结果:

用户群主剩余:100
用户用户A剩余:0
用户用户B剩余:0
用户用户C剩余:0
==================================
用户群主剩余:80
用户用户A剩余:6
用户用户B剩余:6
用户用户C剩余:8
发布了79 篇原创文章 · 获赞 4 · 访问量 5114

猜你喜欢

转载自blog.csdn.net/l0510402015/article/details/104095271