基于java实现简单发红包功能
作者:阿贵努力挣钱买假发 时间:2023-08-09 17:06:40
本文实例为大家分享了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