群主发普通红包。某群有多名成员,群主给成员发普通红包。普通红包的规则:

1. 群主的一笔金额,从群主余额中扣除,平均分成n等份,让成员领取。

2. 成员领取红包后,保存到成员余额中

User

public class User {private String name;private double money;public void show(){System.out.println("我是"+name+",我有"+money+"元");}public String getName() {return name;}public void setName(String name) {this.name = name;}public double getMoney() {return money;}public void setMoney(double money) {this.money = money;}public User(String name, double money) {this.name = name;this.money = money;}
}

QunZhu

public class QunZhu extends User{public QunZhu(String name,double money) {super(name,money);}/* 群主发红包,就是把一个整数的金额,分层若干等份。1.获取群主余额,是否够发红包. 不能则返回null,并提示. 能则继续.2.修改群主余额.3.拆分红包.3.1.如果能整除,那么就平均分。3.2.如果不能整除,那么就把余数分给最后一份。*/public ArrayList<Double> send(int money,int count){double QunZhuMoney = getMoney();//群主余额if(money>QunZhuMoney){System.out.println("money:"+money+",QunZhuMoney:"+QunZhuMoney);System.out.println("钱不够!!!!!!!!");return null;}//修改群主余额setMoney(QunZhuMoney-money);//创建等份红包金额ArrayList<Double> list = new ArrayList<>();money*=100;//扩大金额,防止精度损失int red = money / count;int yue = money % count;//余数for (int i = 0; i < count-1; i++) {list.add(red/100.0);//还原金额}list.add((red+yue)/100.0);return list;}}

Member群成员

public class Member extends User{public Member(String name,double money) {super(name,money);}public void openHongBao(ArrayList<Double> list){Random  r = new Random();int index = r.nextInt(list.size());Double money = list.remove(index);setMoney(money);}
}

测试类

public class TestSendRedPacket {public static void main(String[] args) {QunZhu qz = new QunZhu("群主",1000);ArrayList<Double> list = qz.send(1001, 5);// 判断,如果余额不足if(list == null){System.out.println(" 余额不足...");return;}Member m1 = new Member("A",0);Member m2 = new Member("B",0);Member m3 = new Member("C",0);Member m4 = new Member("D",0);Member m5 = new Member("E",0);m1.openHongBao(list);m2.openHongBao(list);m3.openHongBao(list);m4.openHongBao(list);m5.openHongBao(list);qz.show();m1.show();m2.show();m3.show();m4.show();m5.show();}
}

2021.5.16

群主发普通红包.007相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  9. java练习--群主发红包

    无论群主和群成员都有属性name,money,放在父类User里 package com.qml.study;public class User {private String name ;priva ...

最新文章

  1. 个人微信公众号已开通,欢迎各位小伙伴关注
  2. queue 队列优先级
  3. Oracle连接odbc数据源
  4. shell脚本自动化部署服务
  5. STL中各容器和适配器类的定义
  6. 快速掌握mysql,可备用查找相关用法(吐血整理)
  7. linux 文件夹换所属用户,Linux中账号管理之权限管理(下)
  8. Python文件的两种用途
  9. Linux_日志管理介绍(一)
  10. 使用API​​密钥(aka身份验证令牌)部署到Maven Central
  11. installshield 脚本 在卸载过程执行_Linux下运行Jmeter脚本
  12. 大数据之-Hadoop3.x_Hadoop_MapReduce_介绍---大数据之hadoop3.x工作笔记0081
  13. yum update upgrade 区别_CentOS与RedHat的区别
  14. [RK3399][Android7.1] 基于regmap的I2C实现方法
  15. Java项目_宠物领养系统_不到一小时教会你
  16. n个不同对象聚类为k个类别有多少种可能性? 李航博士,统计学习方法2nd.公式14.21的修正.
  17. RocketMQ实战2
  18. 编程猫平台 python-编程猫发布高中新课标产品 助力中小学python教育
  19. DataX踩坑2 | 定时任务crontab不执行或报错:/bin/sh: java: command not found
  20. CSS教程--CSS字体

热门文章

  1. something just歌词用计算机,Something Just Like This歌词
  2. 普通简历 VS 大佬简历
  3. DockerHub 镜像仓库的使用
  4. Jcrop是一个功能强大的图像裁剪引擎
  5. SOAPUI----安全扫描(Security Testing)
  6. ubuntu Linux多个内核选择
  7. jdk和java什么关系_jdk与java的关系是什么
  8. WebDriver中点击按钮、连接无效问题
  9. git detached HEAD 修改后如何提交修改到其他分支
  10. Injective Protocol官方文档翻译(十一) -事件(Events)、数据类型(Types)