java方法红包用例

/**
 *先定义一个父类
 *
 **/
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;
	}

}
import java.util.ArrayList;

public class Manager extends User {

	public Manager(String name, int money) {
		super(name, money);
	}
    
    /**
     *用ArrayList来储存群主发出的红包
     *
     **/
	public ArrayList<Integer> send(int totalMoney, int count) {
		ArrayList<Integer> array = new ArrayList<>();

		// 群主有多少钱
		int money = super.getMoney();
        
        //发出的红包和自身的钱进行比较
		if (totalMoney > money) {
			System.out.println("余额不足");
			return array;
		}
		// 群主剩余的钱
		super.setMoney(money-totalMoney);
        
         
		int SendMoney = totalMoney / count; //发出去钱的整数型
		int superMoney = totalMoney % count; //发出去钱的余数
        
		for (int i = 0; i < count-1; i++) { //由于只判断整数型,所以余数和整数后面相加,只判断count -1 次
			array.add(SendMoney);
		}
		
		int last = SendMoney + superMoney; 

		array.add(last);
		return array;

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

public class MenMber extends User{
	
	public MenMber(String name, int money) {
		super(name, money);
	}
	
	public void receive(ArrayList<Integer> array) {
		//普通人员有多少钱
		int money=super.getMoney();
		
		//获取随机红包
		int index =new Random().nextInt(array.size());
		//抽取到红包需要删除,然后自己获得
		int data =array.remove(index);
		//接收到红包自己总共的
		super.setMoney(data+money);
	}

}
import java.util.ArrayList;


public class Mainteat {

	public static void main(String[] args) {
		Manager manager =new Manager("群主", 100);
		MenMber menmber =new MenMber("普通人员", 0);
		MenMber menmber1 =new MenMber("普通人员1", 0);
		MenMber menmber2=new MenMber("普通人员2", 0);
		manager.show();
		menmber.show();
		menmber1.show();
		menmber2.show();
		
		ArrayList<Integer> array =manager.send(20, 3);
		menmber.receive(array);
		menmber1.receive(array);
		menmber2.receive(array);
		
		manager.show();
		menmber.show();
		menmber1.show();
		menmber2.show();
	}

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值