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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Java实现微信发红包

    前言 红包文化源远流长.从古时的红色纸包,到手机App中的手气红包,红包作为一种独特的中华文化传承至今.之前的所有内容中,综合Java这方面的知识,可以模拟发普通红包.那么这篇博客,我将整合之前介绍的所有的技术和知识,编写一个带界面版的 发红包 案例. 需求分析 分析并使用已给出的类,编写程序,设置红包类型. 小贴士 红包类型: 1.普通红包:金额均分.不能整除的,余额添加到最后一份红包中. 2.手气红包:金额随机.各个红包金额累和与总金额相等. 红包场景: 此案例是模拟群主给群成员发红包,群主

  • Java实现发红包功能

    Java发红包案例,供大家参考,具体内容如下 首先我们需要分析这个代码的架构是什么,需要什么类组成等. 我们需要建立4个类,这4个类分别是用户类.群主类.成员类,运行类: 因为群主类和成员类都有共同的特点--------拥有名字和余额,所以需要用户类去存储名字与余额 第一步:我们需要建立一个用户类,里面存储的是名字和余额 package Java.RedPacketCode; public class UserClass { private String name; private int ba

  • Java基于ArrayList实现群主发红包功能

    群主发普通红包,某群有多名成员,群主给成员发普通红包,普通红包的规则: 群主的一笔金额,从群主余额中扣除,平均分成n等份,让成员领取: 成员领取红包后,保存到成员余额中. 请根据描述,完成案例中所有类的定义以及指定类之间的继承关系,并完成发红包的操作. 根据题目可以稍作分析,群主和普通群成员都隶属于用户类,那么久可以建立一个用户类,用户类的属性可以有用户名,金额或者钱包,如下: package day05_after03; /** * 定义成员类 * * @author liuwenlong *

  • 基于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

  • 基于Java实现简单的邮件群发功能

    目录 pom文件引入第三方依赖 java代码如下 运行测试 pom文件引入第三方依赖 <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4</version> </dependency> <!--lombok--> <dependency> <groupId>

  • 基于java实现简单的银行管理系统

    页面代码之一: package org.vector.view; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; import java.util.List; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.

  • 用Java实现简单ATM机功能

    本文实例为大家分享了Java实现简单ATM机功能的具体代码,供大家参考,具体内容如下 项目介绍 基于大家使用银行卡在ATM机取款操作,进行相对应ATM机操作流程的实现. 项目功能 1.注册功能: 根据用户输入的账号密码申请一张银行卡,存储在银行卡类型的数组中(一张银行卡对应一个有效用户). 2.登录功能: 登陆失败:重新登陆 或 注册登陆成功:对登陆的这张银行卡可以进行一下操作:存款.取款.查余额.转账.退卡功能. 项目知识点 3.java基本语法的使用4.一维数组5.函数调用,封装6.Java

  • 基于Java实现Avro文件读写功能

    目录 模式(schema) 与其他系统的比较 Java客户端实现 定义一个schema 使用Java代码生成插件生成的User类进行序列化和反序列化 在不生成User类的情况下直接进行序列化和反序列化操作 总结 Apache Avro是一个数据序列化系统.具有如下基本特性: 丰富的数据结构.一种紧凑.快速的二进制数据格式.一个容器文件,用于存储持久数据.远程过程调用 (RPC).与动态语言的简单集成. 代码生成不需要读取或写入数据文件,也不需要使用或实现 RPC 协议. 代码生成作为一种可选的优

  • php实现微信发红包功能

    本文实例为大家分享了php实现微信发红包功能的具体代码,供大家参考,具体内容如下 微信商家后台-现金红包开发: <?php class wxPay { //配置参数信息 const SHANGHUHAO = "1430998xxx";//商户号 const PARTNERKEY = "leFyTOXWzUEXxfp47WOu5d9xxxxxx"; //api,商户后台 //核心支付函数,参数:请求地址和参数 function pay($url,$obj) {

  • Java实现简单文件过滤器功能

    代码思路: 想要循环遍历文件夹下所有子文件夹,就要用到递归. 首先判断路径是否存在: 是:获取文件 判断是否文件夹: 是:调用自身,继续获取子文件夹下内容 否:判断文件后缀,符合则输出 否:输出提示 package com.hanqi.maya.util; import java.io.File; import java.util.Scanner; public class TestGuolv { public static void main(String[] args) { Scanner

  • Java实现简单银行ATM功能

    本文实例为大家分享了Java实现简单银行ATM功能的具体代码,供大家参考,具体内容如下 实现功能 1.用户需要通过输入银行卡号和密码才能进入ATM系统 2.用户可以在ATM中实现取款.存款.转账.余额查询.退出系统等功能 简单分析 1.创建User类(cardNo,identity,phone,username,password,balance(余额)) 2.创建Bank类,主要实现初始化用户.用户登录.显示菜单.取款.存款.转账.余额查询.退出系统等功能. 代码实现 User.java pub

  • 基于Java实现QQ登录注册功能的示例代码

    目录 前言 实现代码 登录页面 注册页面 效果展示 前言 本文主要应用的技术有:GUI.JDBC.多线程 实现的功能具体如下: 1.登录功能 2.注册功能 3.是否隐藏密码的选择以及实现功能 4.选择性别功能 5.密码与确认密码功能 6.登录页面实时展示当前的时间 7.当登录时用户名与密码在数据库中没有相匹配的数据,则会跳转到注册页面上去. 8.同样,注册完毕后,数据会运用JDBC将数据写入数据库中,然后跳转回登录页面. 实现代码 登录页面 import javax.swing.*; impor

  • 基于Java实现简单的时序数据压缩算法

    目录 背景 整数 Varint ZigZag Delta2 Simple8b 浮点数 有损压缩 无损压缩 字符串 标签型 非标签型 背景 今年在公司内部主导了两个的行情数据系统的构建,两者均使用到了常见的时序数据压缩算法. 这里简单总结一下过程中积累的一些经验. 让我们先来思考一个问题:压缩算法生效的前提是什么? 数据本身至少要符合以下两种特性其一: 数据存在冗余 数据符合特定的概率分布 在时序数据领域,数据冗余度与相似度较高,因此天生适合进行压缩. 但对于不同类型的数据,其所适用的压缩算法也大

随机推荐