JAVA 实现简单的发红包案例

复制代码
 1 package Demo511;
 2 
 3 import java.util.ArrayList;
 4 
 5 public class DemoSend {
 6     public static void main(String[] args) {
 7         Manager manager =new Manager("群主",1000);
 8         Member one =   new Member("成员A",0);
 9         Member two =   new Member("成员B",0);
10         Member three = new Member("成员C",0);
11         Member four =  new Member("成员D",0);
12         Member five =  new Member("成员E",0);
13 
14         ArrayList<Integer> redlist =manager.send(666,5);
15 
16         one.receive(redlist);
17         two.receive(redlist);
18         three.receive(redlist);
19         four.receive(redlist);
20         five.receive(redlist);
21 
22         manager.show();
23         one.show();
24         two.show();
25         three.show();
26         four.show();
27         five.show();
28     }
29 }
复制代码

👇是成员类,群主继承成员,群员继承成员

复制代码
 1 package Demo511;
 2 
 3 public class User {
 4     private String name ;
 5     private int money;
 6 
 7     public User(){
 8 
 9     }
10 
11     public User(String name,int money) {
12         this.money=money;
13         this.name = name;
14     }
15     //展示一下,当前用户的钱
16     public void show(){
17         System.out.println("我叫:"+name+",还有"+money+"块钱");
18     }
19     public String getName(){
20         return name;
21     }
22     public void setName(String name){
23         this.name=name;
24     }
25     public int getMoney(){
26         return money;
27     }
28     public void setMoney(int money){
29         this.money=money;
30     }
31 }
复制代码
复制代码
 1 package Demo511;
 2 
 3 import java.util.ArrayList;
 4 /*
 5 默认构造,有参构造
 6  */
 7 public class Manager extends User{
 8         public Manager(){
 9         }
10     public Manager(String name, int money) {
11         super(name, money);
12     }
13     public ArrayList<Integer> send(int totalMoney,int count) {
14             //用一个集合,来存储若干个红包的金额
15         ArrayList<Integer> redList = new ArrayList<>();
16                     //查看群主的金钱余额
17         int leftMoney =super.getMoney();//群主当前余额
18         if (totalMoney>leftMoney){
19             System.out.println("余额不足");
20             return  redList;  //返回空集合
21         }
22         //扣钱就是重新设置余额
23         super.setMoney(leftMoney-totalMoney);
24          //发红包需要评分count份
25         int avg =totalMoney/count;
26         int mod =totalMoney%count;
27         //除不开的金钱,放到最后一个红包里面
28         for (int i = 0; i < count-1; i++) {
29             redList.add(avg);
30         }
31         redList.add(avg+mod);
32         return  redList;
33     }
34 }
复制代码
复制代码
 1 package Demo511;
 2 
 3 import java.util.ArrayList;
 4 import java.util.Random;
 5 
 6 public class Member extends User {
 7     public Member() {
 8     }
 9     public Member(String name, int money) {
10         super(name, money);
11     }
12     public void receive(ArrayList<Integer>list){
13         //从多个红包当中抽取一个给我。
14         //随机获取一个集合的索引编号。
15         int index =new Random().nextInt(list.size());
16         //删除一个随机红包,并且给我。
17         int detal = list.remove(index);
18         int money = super.getMoney();
19         super.setMoney(money+detal);
20     }
21 }
复制代码

代码运行👇

 

posted @   Ssinoo団子  阅读(2423)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示