作者:总是被姨妈折磨的吕孩纸 | 来源:互联网 | 2023-06-02 14:24
用户类packagecn.itcast.day09.demo14;publicclassUser{privateStringname;姓名privateintmoney;余额pu
用户类
package cn.itcast.day09.demo14;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 + ",我有多少钱:" + 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 cn.itcast.day09.demo14;import java.util.ArrayList;public class Manager extends User {public Manager() {}public Manager(String name, int money) {super(name, money);}public ArrayList send(int totalMoney, int count){ //发多少钱,份数//首先用一个集合,储存若干个红包的金额ArrayList redlist = new ArrayList<>();//钱不够发红包时if(totalMoney > super.getMoney()){System.out.println("余额不足啦!");return redlist;}//先扣钱:原有的钱-发掉的钱super.setMoney(super.getMoney()-totalMoney);//平均每个人发多少int avg = totalMoney / count;//因为发的都是整数,最后余数都给最后一个红包int remainder = totalMoney % count;//先包前count-1个for (int i = 0; i }
成员类
package cn.itcast.day09.demo14;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 recieve(ArrayList list){//从多个红包中随机抽取一个//随机获得集合当中的一个索引编号int index = new Random().nextInt(list.size());//根据索引,从集合中删除,并得到被删除的红包,给我自己int recivedMOney= list.remove(index);//当前成员本来的钱int delta = super.getMoney();//修改余额super.setMoney(delta + recivedMoney);}}
主函数,运行结果
package cn.itcast.day09.demo14;import java.util.ArrayList;public class MainRedPacket {public static void main(String[] args) {Manager manager = new Manager("群主",100);Member One= new Member("刘备", 0);Member two = new Member("关羽", 0);Member three = new Member("张飞", 0);manager.show();one.show();two.show();three.show();System.out.println("======================");//发了20块钱,3个红包ArrayList list = manager.send(20,3);//分别收红包one.recieve(list);two.recieve(list);three.recieve(list);manager.show();one.show();two.show();three.show();System.out.println("======================");//发第二次红包ArrayList list2 = manager.send(50,3);one.recieve(list2);two.recieve(list2);three.recieve(list2);manager.show();one.show();two.show();three.show();}
}我叫:群主,我有多少钱:100
我叫:刘备,我有多少钱:0
我叫:关羽,我有多少钱:0
我叫:张飞,我有多少钱:0
======================
我叫:群主,我有多少钱:80
我叫:刘备,我有多少钱:6
我叫:关羽,我有多少钱:6
我叫:张飞,我有多少钱:8
======================
我叫:群主,我有多少钱:30
我叫:刘备,我有多少钱:22
我叫:关羽,我有多少钱:22
我叫:张飞,我有多少钱:26