欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

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

时间:2021-04-11 08:58:19|栏目: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();
  }
}

上一篇:Java编程一维数组转换成二维数组实例代码

栏    目:JAVA代码

下一篇:引入mybatis-plus报 Invalid bound statement错误问题的解决方法

本文标题:基于java实现简单发红包功能

本文地址:http://www.codeinn.net/misctech/99235.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有