软件编程
位置:首页>> 软件编程>> java编程>> 基于java实现简单发红包功能

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

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

标签:java,发红包

本文实例为大家分享了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

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com