目录

群主发普通红包普通红包的规则:群主的一笔金额,从群主的余额中扣除,平均分成n等份,让成员领取           成员领取红包后,保存在成员余额中

一、main方法

二、User类(父类)

三、群主类(继承User类)

四、成员类(继承User类)

五、显示结果


目录

一、main方法

二、User类(父类)

三、群主类(继承User类)

四、成员类(继承User类)


群主发普通红包
普通红包的规则:群主的一笔金额,从群主的余额中扣除,平均分成n等份,让成员领取
           成员领取红包后,保存在成员余额中

一、main方法

package test;
import java.util.ArrayList;
//群主发普通红包
//普通红包的规则:群主的一笔金额,从群主的余额中扣除,平均分成n等份,让成员领取
//             成员领取红包后,保存在成员余额中




public class testmain {
    public static void main(String[] args) {
        //创建一系列对象
        qunzhu q1=new qunzhu("群主",300);
        member m1=new member("zhangsan",10);
        member m2=new member("lisi",20);
        member m3=new member("lili",10);

        q1.show();//显示群主的账户信息
        System.out.println("==========================");
        //设置好人数和金额 将每份红包等额放入list集合类中
        ArrayList<Integer> list = q1.send(3, 20);
        //成员接收红包
        m1.receive(list);
        m2.receive(list);
        m3.receive(list);
        //显示群主和成员账户信息
        m1.show();
        m2.show();
        m3.show();
        q1.show();

    }
}

二、User类(父类)

package test;

import javax.xml.namespace.QName;

public class user {
    //创建一个用户类(父类) 群主和成员应属于用户类
    public user() {//无参构造
    }

    public user(String userID, int balance) {//有参构造
        UserID = userID;
        this.balance = balance;
    }

    private String UserID;//用户姓名
    private int balance;//用户余额

    public String getUserID() {
        return UserID;
    }

    public void setUserID(String userID) {
        UserID = userID;
    }

    public int getBalance() {
        return balance;
    }

    public void setBalance(int balance) {
        this.balance = balance;
    }
    public void show(){//显示账户信息
        System.out.println("my name is "+UserID);
        System.out.println("my balance is "+balance);
    }
}

三、群主类(继承User类)

 

package test;

import java.util.ArrayList;

public class qunzhu extends user {
    //继承show方法(显示余额) 继承uesr类的成员变量 uerID和balance
    public qunzhu() {//创建无参构造
    }

    public qunzhu(String userID, int balance) {
        //创建有参构造
        super(userID, balance);
    }

    public ArrayList<Integer> send(int count, int money) {
        ArrayList<Integer> RedPacketnum = new ArrayList();
        //创建一个红包RedPacketnum集合类
        if (money < getBalance()) {//发红包金额<实际余额 则继续实行

            for (int i = 0; i < count - 1; i++) {
                RedPacketnum.add(money / count);//添加等份红包进集合
            }
            RedPacketnum.add((money % count) + (money / count));//如果除不尽,最后最后一份红包将加上余数
            super.setBalance(getBalance() - money);//群主发红包,账户余额=账户余额-红包金额
            return RedPacketnum;//返回红包集合
        } else {//发红包金额>实际余额 返回空集合
            return RedPacketnum;
        }

    }

 

四、成员类(继承User类)

 

package test;


import java.util.ArrayList;
import java.util.Random;

public class member extends user {//无参构造
    public member() {
    }

    public member(String userID, int balance) {//有参构造
        super(userID, balance);
    }
    public void receive(ArrayList<Integer> list){//接受红包集合类
        Random r=new Random(list.size());
        int index=r.nextInt(list.size());//随机抽取红包集合类数据
        //成员类抽取红包后,账户余额=账户余额+随机抽取的红包金额
        setBalance(list.get(index)+getBalance());
        list.remove(index);//抽取红包后。应删除该对应红包,防止重复抽取该红包
    }
}

五、显示结果

my name is 群主
my balance is 300
==========================
my name is zhangsan
my balance is 18
my name is lisi
my balance is 26
my name is lili
my balance is 16
my name is 群主
my balance is 280