首页 > 编程语言 >发红包案例(java)

发红包案例(java)

时间:2024-08-30 19:24:24浏览次数:7  
标签:java name int money list Member 案例 发红包 public

User类创建

public class User {
    private String name;
    private int money;

    public User(){

    }

    public User(String name,int money){
        this.name=name;
        this.money=money;
    }

    public void show(){
        System.out.println("Name:"+name+" Money:"+money);
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getMoney() {
        return money;
    }

    public void setMoney(int money) {
        this.money = money;
    }
}

​

Manage类

import java.util.ArrayList;

public class Manager extends User{

    public Manager(String name, int money) {
        super(name, money);
    }

    public Manager() {
        super();
    }
//需要一个集合用来存储发红包的个数以及各个金额
    public ArrayList<Integer> List(int totalmoney,int count){//发的钱
        ArrayList<Integer> list = new ArrayList<>();

        int leftmoney = super.getMoney();//群主总共的钱

        if(leftmoney < totalmoney) return list;//群主没那么多钱

        int averagemoney = totalmoney/count;//平均每个人
        int modemoney = totalmoney%count;//除不尽的余数加在list最后一个

        for(int i = 0 ; i < count-1 ; i++){
            list.add(averagemoney);
        }

        super.setMoney(leftmoney - totalmoney);//群主剩的钱

        list.add(modemoney+averagemoney);
        return list;//返回红包集合

    }
}

Member类

import java.util.ArrayList;
import java.util.Random;

public class Member extends User{
    public Member() {
        super();
    }

    public Member(String name, int money) {
        super(name, money);
    }

    public void receive(ArrayList<Integer> list){

        int random = new Random().nextInt(list.size());//随即索引

        int num = list.remove(random);//将这个数去除,并且取出

        int money = super.getMoney()+num;//把钱加上

        super.setMoney(money);//更新前的金额

    }
}

调用

import java.util.ArrayList;
import java.util.Scanner;

public class Using {
    public static void main(String[] args) {
        Member A= new Member("贤哥",0);
        Member B = new Member("超哥",0);
        Member C = new Member("小哥",0);
        Manager qun = new Manager("群主",10000);

        System.out.println("原来的钱");
        qun.show();
        A.show();
        B.show();
        C.show();
        System.out.println("================");

        System.out.println("你想发多少");
        int F = new Scanner(System.in).nextInt();

        ArrayList<Integer> list = qun.List(F,3);


        A.receive(list);
        B.receive(list);
        C.receive(list);

        qun.show();
        A.show();
        B.show();
        C.show();
    }
}

运行结果:

标签:java,name,int,money,list,Member,案例,发红包,public
From: https://blog.csdn.net/2302_79847831/article/details/141685911

相关文章

  • Java根据经纬度计算两个坐标之间的距离(含SQL计算)
    最近接到两个需求,一个是通过小程序扫码开门的,我这边主要就是根据用户定位判断用户离扫码店铺距离小于多少米的时候才可以调远程调开门接口,另外一个就是获取用户周围有哪些店铺。需求很简单,就是根据定位获取的经度维度计算两个点之间的球面距离,这里我们主要采用Haversine公......
  • JS逆向入门案例-xx志愿服务网encData-05
    文章目录概要整体架构流程技术细节小结概要提示:仅供学习,不得用做商业交易,如有侵权请及时联系!逆向:xx志愿服务网URL:aHR0cDovL2NoaW5hdm9sdW50ZWVyLm1jYS5nb3YuY24vc2l0ZS9wcm9qZWN0目标:表单数据中的encData参数整体架构流程提示:分析-调试-猜想-实现-执......
  • javascript 检测 麦克风状态
    <htmllang="zh"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>麦克风监听示例<style>body......
  • 打包exe_java
    主要实现步骤1,将代码打包成jar包。2,整合资源文件3,将jar包打包成exe4,将jdk、资源文件、jar包转换后的exe三者再次打包成最终的exe。准备软件1,Idea:将代码打包成jar包(java形式的压缩包)2,exe4j:将jar包转换成exe的工具。3,innosetup:将游戏用到的图片,Java的......
  • 服务器数据恢复—异常断电导致ESXI主机共享存储中raid6阵列崩溃的数据恢复案例
    服务器存储数据恢复环境:一台存储中有一组由12块SAS硬盘组建的raid6磁盘阵列,划分了1个卷,由数台VmwareESXI主机共享存储。卷中存放了大量的Windows系统虚拟机。这些虚拟机系统盘大小一致,数据盘大小不确定,数据盘都是精简模式。服务器存储故障:机房异常断电导致存储瘫痪,加电后存储依......
  • Java后端分布式系统的服务调用链路管理:服务目录与服务市场
    Java后端分布式系统的服务调用链路管理:服务目录与服务市场大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在Java后端分布式系统中,服务调用链路的管理是确保微服务架构良好运作的关键。服务目录提供了服务的注册与发现机制,而服务市场则为服务的共享与......
  • 基于javaweb的smile旅行社管理系统的设计与实现 毕业设计-附源码02508
    摘 要随着旅游行业的蓬勃发展,旅行社作为连接旅游资源和游客的桥梁,其管理效率和服务质量直接影响着客户满意度和企业竞争力。为了更好地满足市场需求,提升旅行社的管理水平和运营效率,设计与实现一套高效、稳定的旅行社管理系统显得尤为重要。基于JavaWeb的Smile旅行社管......
  • Java后端分布式系统的服务调用协议:gRPC与RESTful
    Java后端分布式系统的服务调用协议:gRPC与RESTful大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在分布式系统中,服务之间的通信是构建微服务架构的关键。服务调用协议的选择直接影响到系统的性能、可维护性和开发效率。gRPC和RESTful是两种流行的服务......
  • JavaIO 文件的读取,写入,复制,压缩,解压等...相关操作,持续更新
    1.文本文件的读取文本的读取,返回值是一个list,如果需要返回一整个string在while循环中使用StringBuilder.append 即可/***逐行读取文本**@paramfilePath文件路径*@returnList<String>*/publicstaticList<String>readTxtFile1......
  • 【Java】若依(ruoyi)框架——1.选型
    工作中的后台管理系统,看了源码,知道使用的是ruoyi框架。这是一款基于SpringBoot框架开发的后台管理系统。它有几个特征很吸引人。开源免费使用人说多还在更新中这意味着。如果使用中有问题,能够解决。以我的经验,如果你的实力不够强大,不能躲开太多的坑。一定要用多人使用......