基于java实现简单发红包功能

作者:阿贵努力挣钱买假发 时间:2023-08-09 17:06:40 

本文实例为大家分享了java实现简单发红包的具体代码,供大家参考,具体内容如下

基于java实现简单发红包功能

这个案例是普通红包,均分的,不是拼手气红包。


package nuc.edu.day01.demo05;

/**
* @author Administrator
* 用户类
*/
public class User {
 private String name;
 private Double money;

public User() {
 }
 //显示当前余额
 public void show(){
   System.out.println(name + "当前的余额为:" + money);
 }

public User(String name, Double money) {
   this.name = name;
   this.money = 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;
 }
}

package nuc.edu.day01.demo05;

import java.util.ArrayList;

/**
* @author Administrator
* 群主发红包的操作
*/
public class Manager extends User {
 public Manager() {
 }

public Manager(String name, Double money) {
   super(name, money);
 }

/**定义发红包的方法
  * totalMoney:发红包的总金额
  * num:发红包的个数*/
 public ArrayList<Double> send(double totalMoney,int num){
   /**存放红包的集合*/
   ArrayList<Double> redList = new ArrayList<>();
   /**当前余额*/
   double leftMoney = super.getMoney();
   if (leftMoney < totalMoney){
     System.out.println("抱歉,您的余额不足");
     return redList;
   }
   /**发完红包的余额*/
   super.setMoney(leftMoney-totalMoney);
   /**将钱平均存入每个红包中*/
   double avg = totalMoney / num;
   for (int i = 0; i < num; i++) {
     redList.add(avg);
   }
   return redList;
 }
}

package nuc.edu.day01.demo05;

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

/**
* @author Administrator
* 群内成员抢红包的操作
*/
public class Member extends User {
 public Member() {
 }

public Member(String name, Double money) {
   super(name, money);
 }

/**定义收红包的方法*/
 public void receive(ArrayList<Double> list){
   /**创建随机红包对应的索引*/
   int index = new Random().nextInt(list.size());
   /**当前余额*/
   double money = super.getMoney();
   /**根据索引将自己抢到的红包删掉*/
   double delta = list.remove(index);
   /**领完红包后的余额*/
   super.setMoney(money+delta);
 }
}

package nuc.edu.day01.demo05;

import java.util.ArrayList;

/**
* @author Administrator
*/
public class Main {
 public static void main(String[] args) {
   Manager manager = new Manager("群主",300.00);
   Member a = new Member("A",0.00);
   Member b = new Member("B",10.00);
   /**显示当前余额*/
   manager.show();
   a.show();
   b.show();
   System.out.println("============");

ArrayList<Double> redList = manager.send(52.00,2);
   a.receive(redList);
   b.receive(redList);
   /**显示抢完红包后的余额*/
   manager.show();
   a.show();
   b.show();
 }
}

来源:https://blog.csdn.net/yxt_zts129418/article/details/109104307

标签:java,发红包
0
投稿

猜你喜欢

  • java中初始化MediaRecorder的实现方法

    2023-11-29 03:54:52
  • Android编程实现自定义手势的方法详解

    2023-09-14 16:02:36
  • C#泛型与非泛型性能比较的实例

    2022-01-31 17:26:51
  • Java swing五子棋的实现方法

    2021-06-01 15:25:20
  • Android视频悬浮窗口实现的示例代码

    2022-08-01 06:50:33
  • SpringCloud整合Nacos实现流程详解

    2021-07-04 11:11:09
  • kafka并发写大消息异常TimeoutException排查记录

    2023-11-27 23:07:11
  • springboot配置aop切面日志打印过程解析

    2022-07-10 13:14:09
  • 继承JpaRepository后,找不到findOne()方法的解决

    2022-08-26 18:33:26
  • 轻松学习C#的属性

    2022-07-21 06:24:04
  • SpringBoot整合Log4j2及配置步骤

    2023-10-27 10:50:16
  • C# 使用SpecFlow创建BDD测试用例的示例代码

    2021-05-25 21:35:00
  • Android 通过Messager与Service实现进程间双向通信案例详解

    2021-10-04 13:53:18
  • Webview实现android简单的浏览器实例代码

    2023-04-20 15:21:57
  • 详解C++中的指针、数组指针与函数指针

    2023-04-11 05:35:24
  • spring boot实现自动输出word文档功能的实例代码

    2021-11-10 13:37:51
  • SpringBoot如何返回Json数据格式

    2023-01-12 16:28:51
  • C语言/C++中如何产生随机数

    2023-06-25 08:48:57
  • c# 获取字符串的字节数的方法

    2022-01-17 13:52:50
  • java实现MapReduce对文件进行切分的示例代码

    2023-10-07 21:46:59
  • asp之家 软件编程 m.aspxhome.com