1. 程式人生 > 程式設計 >基於java實現簡單發紅包功能

基於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,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();
  }
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。