//抽取群主和成员形成一个父类
public class User {
// 用户的姓名和金钱(共有属性)
private String name;
private int money;
public User(String name, int money) {
this.name = name;
this.money = money;
}
public User() {
}
// 用户的共同展示方法。
public void show() {
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;
}
}
==============================================================
/*
收红包的逻辑,三要素。
返回值类型:void
方法名称:receive
参数列表:Arraylist<Integer>
public void receive(Arraylist<Integer>list{
}
*/
import java.util.ArrayList;
import java.util.Random;
public class membar extends User{
public membar() {
}
public membar(String name, int money) {
super(name, money);
}
public void receive(ArrayList<Integer> list){
//从多个红包当中随机抽取一个,随机获取一个集合当中的索引编号
int index = new Random().nextInt(list.size());
// 根据索引,从集合当中删除,并且得到被删除的红包给我自己 delta 数学用于流动的余额
int delta = list.remove(index);
int money =super.getMoney();//当前成员有多少钱
super.setMoney(money+delta);//重新设置成员余额
}
}
================================================================
/*
发红包的逻辑,三要素:
返回值类型:Arraylist<Integer>
方法名称:send
参数列表:1.总共发多少钱,int totallMoney
2.分成多少份 int count
public Arraylist<Integer> send(int totallmoney,int count)
*/
import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;
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> redlist = new ArrayList<>();
int leftmoney = super.getMoney();
//判断余额和红包总金额的大小
if (totalmoney>leftmoney){
System.out.println("余额不足");
return redlist;
}
//重新设置余额
super.setMoney(leftmoney-totalmoney);
// 发红包需要平均分成count份。
int avg = totalmoney/count;
int mod = totalmoney%count; // 余数也就是甩下的零头
// 除不开的零头,放在最后一个红包中。
for (int i = 0; i < count; i++) {
if(i == count-1){
redlist.add(avg+mod);
break;
}
redlist.add(avg);
}
return redlist;
}
}
==================================================
package cd.itcast.demo02.demo13;
// 主函数
import javax.script.ScriptContext;
import java.awt.*;
import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;
public class DemoMain {
public static void main(String[] args) {
Manager manager =new Manager("群主",100);
membar one =new membar("成员A",0);
membar two =new membar("成员B",0);
membar three =new membar("成员C",0);
ArrayList<Integer> redlist = manager.send(20,6);
one.receive(redlist);
two.receive(redlist);
three.receive(redlist);
manager.show();
one.show();
two.show();
three.show();
System.out.println("===========");
}
}
发红包案列
最新推荐文章于 2022-01-15 09:21:14 发布