建立User类
package com.neusoft.redbag;
public class User {
// 属性
private String userName;
// 余额
private int leftMoney;
// 空参构造函数
public User(){
}
// 全参构造函数
public User(String userName, int leftMoney){
this.userName = userName;
this.leftMoney = leftMoney;
}
// get set方法
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public int getLeftMoney() {
return leftMoney;
}
public void setLeftMoney(int leftMoney) {
this.leftMoney = leftMoney;
}
public void show(){
System.out.println("用户" + this.userName + " " + "余额" + this.leftMoney);;
}
}
建立普通成员类(抢红包的)
package com.neusoft.redbag;
import java.util.ArrayList;
import java.util.Random;
public class Member extends User {
public Member() {
}
public Member(String userName, int leftMoney) {
super(userName, leftMoney);
}
// 收红包方法
public void receive(ArrayList<Integer> arrayList){
// 随机拿出来一个
Random random = new Random();
int index = random.nextInt(arrayList.size());
int selectMoney = arrayList.remove(index);
// 更新余额
int leftMoney = super.getLeftMoney();
super.setLeftMoney(leftMoney + selectMoney);
}
}
建立群主类(发红包的)
package com.neusoft.redbag;
import java.util.ArrayList;
// 群主发红包
public class Manager extends User {
public Manager() {
}
public Manager(String userName, int leftMoney) {
super(userName, leftMoney);
}
/**
* 发红包的方法
* @param totalMoney 总金额
* @param count 发几个红包
*/
public ArrayList<Integer> send(int totalMoney, int count){
ArrayList<Integer> list = new ArrayList<>();
// 查看当前用户的余额
int leftMoney = super.getLeftMoney();
// 判断
if (totalMoney > leftMoney)
System.out.println("余额不足");
// 扣余额
super.setLeftMoney(leftMoney-totalMoney);
// 将钱分成 count 份
// 每个人发的钱
int avg = totalMoney/count;
// 除不开余出来的钱 %取余
int mod = totalMoney%count;
for (int i = 0; i < count -1 ; i++) {
list.add(avg);
}
// 最后一个
list.add(avg+mod);
return list;
}
}
测试类
{
Manager manager = new Manager("马化腾", 200);
Member member1 = new Member("张三", 0);
Member member2 = new Member("李四", 20);
Member member3 = new Member("王五", 30);
manager.show();
member1.show();
member2.show();
member3.show();
Scanner sc=new Scanner(System.in);
System.out.println("请设置红包的金额:");
int money=sc.nextInt();
System.out.println("请设置红包的个数:");
int num=sc.nextInt();
// 发红包
ArrayList<Integer> list = manager.send(money, num);
member1.receive(list);
member2.receive(list);
member3.receive(list);
System.out.println("抢完之后,成员情况");
manager.show();
member1.show();
member2.show();
member3.show();
}
网友评论