发红包案例

package com.jou.money;

public class User {
    private String username;
    private  double leftMoney;

    public User(String username, double leftMoney) {
        this.username = username;
        this.leftMoney = leftMoney;
    }
    public User(){

    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }

    public double getLeftMoney() {
        return leftMoney;
    }

    public void setLeftMoney(double leftMoney) {
        this.leftMoney = leftMoney;
    }
    public void show(){
        System.out.println("用户名:"+username+"钱为"+leftMoney);
    }
}

package com.jou.money;

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

public class QunZhu extends User{
    public QunZhu(){

    }
    public QunZhu(String user_name,double qian){
        super(user_name,qian);
    }
    public ArrayList<Double> send(double money,int count ){
        double leftmoney=getLeftMoney();
        if(money>leftmoney){
            System.out.println("余额不足");
            return null;
        }
        setLeftMoney((leftmoney-money));
        ArrayList<Double> list_evermoney=new ArrayList<>();
//        double a=(double)Math.round(money*100/count)/100;
        double[] a=new double[count];
        Random r=new Random();
        double left_money=money;
        int remmber_i=0;
        for (int i = 0; i < count; i++) {
            left_money-=a[remmber_i];
            if(i==count-1){
                a[i]=Math.round(left_money*100)/100;
                break;
            }
            a[i]=Math.round(r.nextDouble()*left_money*100);
            a[i]/=100;
            remmber_i=i;
        }
        for (int i = 0; i <count ; i++) {
            list_evermoney.add(a[i]);
        }
         return list_evermoney;
    }
}

package com.jou.money;

import javax.xml.crypto.dom.DOMCryptoContext;
import java.util.ArrayList;
import java.util.Random;

public class Member extends User {
    public Member(){}
    public Member(String username, double leftMoney){
        super(username,leftMoney);
    }
    public void  get_money(ArrayList<Double> list){
        Random r =new Random();
        int a=r.nextInt(list.size());
        Double money=list.remove(a);
        setLeftMoney(money);
    }
}

package com.jou.money;

import java.util.ArrayList;

public class test {
    public static void main(String[] args) {
        QunZhu q=new QunZhu("hostA",100);
        ArrayList<Double> sz=q.send(80,3);
        Member m1=new Member("aaa",0);
        Member m2=new Member("bbb",0);
        Member m3=new Member("ccc",0);

        m1.get_money(sz);
        m2.get_money(sz);
        m3.get_money(sz);
        System.out.println(m1.getLeftMoney()+m2.getLeftMoney()+m3.getLeftMoney());
        m1.show();
        m2.show();
        m3.show();
        q.show();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值