继承应用
群主发红包,群成员接受红包,显示余额,平均分为n份.
代码如下::
package demo;
public class User {
private String name;
private int money;
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 demo;
import java.util.ArrayList;
public class Manager extends User {
public Manager(String name, int money) {
super(name, money);
}
public ArrayList<Integer> send(int totalMoney, int count) {
ArrayList<Integer> red = new ArrayList<Integer>();
int LeftMoney = super.getMoney();
if (LeftMoney <totalMoney) {
System.out.println("余额不足");
return red;
}
super.setMoney(LeftMoney - totalMoney);
int ave = totalMoney / count;
int mod = totalMoney % count;
for (int i = 0; i < count - 1; i++) {
red.add(ave);
}
red.add(ave + mod);
return red;
}
}
package demo;
import java.util.ArrayList;
import java.util.Random;
public class Member extends User {
public Member(String name, int money) {
super(name, money);
// TODO Auto-generated constructor stub
}
public void get(ArrayList<Integer> red) {
int index = new Random().nextInt(red.size());
int delta=red.remove(index);
super.setMoney(super.getMoney() + delta);
}
}
package demo;
import java.util.ArrayList;
public class RedTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
Manager manager=new Manager("群主",100);
Member one =new Member("成员A",10);
Member two=new Member("成员B",10);
Member three =new Member("成员C",10);
manager.show();
one.show();
two.show();
three.show();
System.out.println("===================");
ArrayList<Integer> redlist=manager.send(20, 3);
one.get(redlist);
two.get(redlist);
three.get(redlist);
manager.show();
one.show();
two.show();
three.show();
}
}