//User
package ExtendTest;
/*群主发红包的功能实现(用到Extend):
父类:User(用户)
属性:name(姓名),money(总金额)
方法:无参构造和含参数(name,money)构造,show方法显示totalmoney内容子类:Manager(群主)
继承User的属性和构造方法
自己的方法Send(),参数列表为(sendmoney钱包金额,count人数),返回值类型:Arraylist(list1)
判断发送金额 > 余额,返回空集合,输出:余额不足!发送金额 <= 余额 则余额=余额 - 发送金额子类:Member(成员)
继承User的属性和构造方法
自己的方法receive(),返回值类型:void或者int(返回成员的余额)
参数列表Arraylist<Integer>,随机获得集合Arraylist中的任意一个红包(随机数Random)
*/public class User {//父类:用户private String name;private int money;public User() {}public User(String name, int money) {this.name = name;this.money = money;}public void show(){System.out.println("我叫"+name+",我有多少钱:"+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
package ExtendTest;import java.util.ArrayList;public class Manager extends User {//子类:群主public Manager() {//    有个默认super();方法}public Manager(String name, int money) {super(name, money);}public ArrayList<Integer> send(int sendmoney,int count){ArrayList<Integer> list1 = new ArrayList<Integer>();int leftmoney = super.getmoney();if (leftmoney < sendmoney){System.out.println("余额不足!");return list1;}super.setmoney(leftmoney - sendmoney);int avg = sendmoney/count;//均分count人后的每个红包的金额int mod = sendmoney%count;//红包未除尽的剩余金额(计入最后一个红包发送)for (int i = 0; i < count - 1; i++) {list1.add(avg);}int sum = avg + mod;list1.add(sum);return list1;}
}
//Member
package ExtendTest;
import java.util.ArrayList;
import java.util.Random;public class Member extends User{//子类:普通成员public Member() {//        默认含有一个super()}public Member(String name, int totalmoney) {super(name, totalmoney);}public  int receive(ArrayList<Integer> list){int index = new Random().nextInt(list.size());int del = list.remove(index);super.setmoney(super.getmoney() + del);//现在余额=余额+红包金额return super.getmoney();}
}
//测试主类
package ExtendTest;import java.util.ArrayList;public class RedPackageTest {public static void main(String[] args) {Manager manager = new Manager("群主",100);Member one = new Member("M1",10);Member two = new Member("M2",0);Member three = new Member("M3",5);manager.show();ArrayList<Integer> list=manager.send(20,3);manager.show();one.show();two.show();three.show();int onemoney = one.receive(list);System.out.println("M1's money:"+onemoney);System.out.println("M2's money:"+two.receive(list));System.out.println("M3's money:"+three.receive(list));}
}

继承练习:发红包案例实现(群主发红包、群成员接收红包)相关推荐

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

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

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

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

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

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

  4. JAVA继承的综合案例——群主发普通红包

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

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

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

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

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

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

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

  8. 群主发普通红包.007

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

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

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

最新文章

  1. apache2部署django以及静态文件
  2. Ubuntu 无法应用原保存的显示器配置
  3. python中利用opencv对图片进行缩放
  4. leetcode 删除排序数组中的重复项
  5. c语言程序设计点亮第一个LED,实验2__C语言程序设计及_LED跑马灯实验.ppt
  6. Docker基础(2)——基础操作
  7. 欲走考研,难辞青衫,小园香径独徘徊。
  8. 如何列出包含给定提交的分支?
  9. perl oracle ppm,Perl图形化包管理工具PPM学习使用笔记
  10. 先科机顶盒一直出现android,网络电视机顶盒停留在开机界面,无法开机的解决办法...
  11. 2020最全蓝牙耳机盘点:年会最值得选择的十大优秀蓝牙耳机品牌
  12. 电脑硬盘恢复数据恢复软件免费版下载
  13. 中医教你按摩手指,治疗百病
  14. 以码为梦,心向远方,路在脚下|211应届计算机毕业生的迷茫
  15. python3几种常见解压压缩包的方法
  16. 摸鱼 | 远程控制实验室服务器(不在同一局域网)
  17. isdigit()函数如何判断负数
  18. d3.js v5 数据加载
  19. 当配置邮箱第三方SMTP 说短信内容有误的时候
  20. 入耳式蓝牙耳机哪种音质好?微型蓝牙隐形耳机推荐

热门文章

  1. 只有学习才能走得更远
  2. 【PDF转电子杂志】云展网教程 | 如何添加和删除书橱里的杂志?
  3. 为什么要引入齐次坐标?
  4. canvas拖尾效果
  5. 手写字符串识别的应用
  6. Python3爬虫中Splash的知识总结
  7. Scrutiny 10 for Mac(网站分析检测工具)
  8. Manacher's Algorithm 马拉车算法
  9. Android Ble蓝牙开发总结
  10. 基于Matlab工具箱进行单目摄像头标定