群主把对应金额,等分随机分给用户
基础类
package com.learn.Demo2;
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(String name , int money){
System.out.println("姓名: "+ name+";"+"余额: "+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;
}
}
群主类
package com.learn.Demo2;
import java.util.ArrayList;
public class Manager extends User {
public Manager() {
}
public Manager(String name,int money){
super(name,money);
}
// 发送红包的方法
public ArrayList<Integer> send(int totalMoney, int count){
// 首先需要一个集合,用来存储若干个红包金额
ArrayList<Integer> receive = new ArrayList<>();
// 首先看一下群主自己有多少钱
if(super.getMoney() < totalMoney){
System.out.println("余额不足");
return receive; //返回空集合
}
// 扣钱,重新设置余额
super.setMoney(super.getMoney()-totalMoney);
int avg=totalMoney / count;
int balance=totalMoney % count;
for (int i = 0;i< count -1;i++){
receive.add(avg);
}
receive.add(avg+balance);
// 返回列表
return receive;
}
}
用户类
package com.learn.Demo2;
import java.util.ArrayList;
import java.util.Random;
public class Member extends User{
public Member() {
}
public Member(String name, int money) {
super(name, money);
}
// 给用户分配红包金额
public void receive(ArrayList<Integer> list){
int listIndex= new Random().nextInt(list.size());
int delta=list.remove(listIndex);
int money = super.getMoney();
super.setMoney(money+delta);
}
}
main方法
package com.learn.Demo2;
import java.util.ArrayList;
public class MainRedPacket {
public static void main(String[] args) {
// 设置群主的余额
Manager manager=new Manager("群主",100);
System.out.println(manager.getName()+"----"+manager.getMoney());
// 设置用户的余额
Member one=new Member("one",0);
Member two=new Member("two",0);
Member three=new Member("two",0);
System.out.println(one.getName()+"----"+one.getMoney());
System.out.println(two.getName()+"----"+two.getMoney());
System.out.println(three.getName()+"----"+three.getMoney());
// 获取红包列表
ArrayList<Integer> list =manager.send(20,3);
System.out.println(list);
// 分配红包
one.receive(list);
two.receive(list);
three.receive(list);
System.out.println(one.getName()+"----"+one.getMoney());
System.out.println(two.getName()+"----"+two.getMoney());
System.out.println(three.getName()+"----"+three.getMoney());
}
}
视频百度下载地址:
链接:https://pan.baidu.com/s/1VgT6EZdRVPrKaeKjuJ-Wpg 提取码:7p1k
视频全套教程购买地址:http://suo.im/5zgMaW