无论群主和群成员都有属性name,money,放在父类User里

package com.qml.study;public class User {private String name ;private  int money;public User() {}public User(String name, int money) {this.name = name;this.money = 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;}public void show(){System.out.println("我是"+name+"我有"+money+"元钱");}}

群主类,有发红包的方法

package com.qml.study;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 totalMoney,int count){//集合用来存放若干个红包的金额ArrayList<Integer> list = new ArrayList<Integer>();int leftmoney = super.getMoney();if (leftmoney < totalMoney){System.out.println("余额不足");return  list;//返回空}//扣钱,重新设置金额super.setMoney(leftmoney-totalMoney);int i1 = totalMoney / count;  //平均分的金额int i2 = totalMoney % count;   //剩余不能整除的金额放在最后一个红包里//比如10元分4个红包,前三个每个2元,第四个4元for (int i = 0; i < count-1; i++) {list.add(i1);}int last = i2+i1;list.add(last);return list;}}

群成员类,有收红包的方法

package com.qml.study;import java.util.ArrayList;
import java.util.Random;public class Member extends  User{public Member(String name, int money) {super(name, money);}public Member(){}public void receive(ArrayList<Integer> list){//从钱包中随机取1个int index = new Random().nextInt(list.size());//根据索引,从集合中删除金额,给自己加入int delta = list.remove(index);int money = super.getMoney(); //自己原来的钱//重新设置金额super.setMoney(money+delta);}
}

启动类

package com.qml.study;import java.util.ArrayList;public class RunMoney {public static void main(String[] args) {Manager manager = new Manager("群主",100);Member member1 = new Member("成员1",0);Member member2 = new Member("成员2",0);manager.show();member1.show();member2.show();//群主发20元,发3个ArrayList<Integer> list = manager.send(20,3);member1.receive(list);member2.receive(list);manager.show();member1.show();member2.show();}
}

随机打印一次:
我是群主我有100元钱
我是成员1我有0元钱
我是成员2我有0元钱

我是群主我有80元钱
我是成员1我有6元钱
我是成员2我有8元钱

java练习--群主发红包相关推荐

  1. Java继承的综合案例——群主发红包

    群主发普通红包.某群有多名成员,群主给成员发普通红包.普通红包的规则: 群主的一笔金额,从群主余额中扣除,平均分成n等份.,让成员领取. 成员领取红包后,保存到成员余额中. 请根据描述,完成案例中所有 ...

  2. 群主发红包——java学习

    package com.cn.test; //父类 用户 public class User {private String name;private int money;public User() ...

  3. JAVA 群主发红包请红包案例 简易版

    综合案例:群主发红包 群主发普通红包.某群有多名成员,群主给成员发普通红包.       普通红包的规则:              1. 群主的一笔金额,从群主余额中扣除,平均分成n等份,让成员领取 ...

  4. 继承练习:发红包案例实现(群主发红包、群成员接收红包)

    //User package ExtendTest; /*群主发红包的功能实现(用到Extend): 父类:User(用户) 属性:name(姓名),money(总金额) 方法:无参构造和含参数(na ...

  5. Java练习继承群主发红包案例(分析与实现)

    题目: 群主发普通红包,某群有多名成员,群主给成员发普通红包,普通红包的规则: 群主的一笔金额,从群主余额中扣除,平均分成n等份,让成员领取: 成员领取红包后,保存到成员余额中. 请根据描述,完成案例 ...

  6. Java实现微信、QQ等群主发红包实例(普通红包)

    许久没有写blog 手有点生,但是准备开启常更模式了! 最近重拾Java知识,挑一些有趣的案例分享给大家.(拼手气红包案例) 分析: 首先,群主和成员都是微信.QQ等应用程序的用户,他们都可以归为用户 ...

  7. 【继承】【群主发红包案例】

    一.题目要求: 群主发普通红包.某群有多名成员,群主给成员发普通红包.普通红包的规则: ①.群主的- -笔金额, 从群主余额中扣除,平均分成n等份,让成员领取. ②.成员领取红包后,保存到成员余额中. ...

  8. 群主发红包-java实现

    package work01;public class RedPackage {int redPaclageNum;//红包数目double allMoney;//红包总金额double leftMo ...

  9. 群主发普通红包和手气红包

    群主发普通红包 群主发普通红包.群主有多名成员,群主给成员发普通红包.普通红包的规则: 群主的一笔金额,从群主余额中扣除,平均分成n等份,让成员领取. 成员领取红包后,保存到成员余额中. 请根据描述, ...

最新文章

  1. macbook所有型号大全_提高MacBook电池寿命的15个技巧
  2. Idea左侧显示目录结构和.java文件的解决办法
  3. Matplotlib 中文用户指南 4.7 使用 LaTeX 渲染文本
  4. 95-910-144-源码-FlinkSQL-Flink的UDF
  5. jquery和css的区别是什么?
  6. python怎么通过占位符_如何输入占位符?
  7. 视频号直播带货成交的三大关键
  8. 对程序员来说最难的是写代码吗?
  9. 【剑指 offer】—— 快速排序
  10. 内容可编辑且随内容自增长的div
  11. 远程访问用户 Kindle---通过电子书实现控制
  12. 域名购买之后怎么使用
  13. JS正则:按中英文逗号 中英文分号 回车 空格分隔/切割字符串
  14. 阿拉伯数字翻译成中文的大写数字
  15. 《ClickHouse原理解析与应用实践》读书笔记(2)
  16. C - char与wchar_t(TCHAR/WCHAR)之间的相互转换
  17. 华为手机左侧快捷方式_华为手机的这六个快捷键,让使用更简便!
  18. 没钱去巴西? 谷歌地图街景带你游览比赛场馆
  19. 企业级智能BI平台开源框架
  20. CSS特效 操作方法

热门文章

  1. Java 输出星期几
  2. android message的作用,Android消息机制之Message解析(面试)
  3. 简易的排雷小游戏(c语言制作)
  4. 机器学习(二) 机器学习基础
  5. 负载均衡有哪些实现方式?
  6. (九)EIGamal公钥密码算法
  7. 零基础HTML入门教程(14)——表格
  8. react-native 使用react-native-image-crop-picker上传图片、视频到服务端
  9. jdk和cglib动态代理介绍
  10. 真正解决 PowerPoint 2007 中不能输入汉字问题