使用Java實現發紅包的功能。
結構:
package redPocket
User.java
Manager.java
Member.java
Test.java
思路:
Manager和Member類繼承User,Manager類實現羣主發紅包的功能,Member類實現羣員收紅包的功能。Test測試代碼。
代碼:
package redPacket;
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 setName(String name) {
this.name=name;
}
public String getName() {
return name;
}
public void setMoney(int money) {
this.money=money;
}
public int getMoney() {
return money;
}
public void show() {
System.out.println("我叫"+name+",我的餘額是"+money);
}
}
package redPacket;
import java.util.ArrayList;
public class Manager extends User{
public Manager() {
super();//贈送的super
}
public Manager(String name,int money) {
super(name,money);
}
public ArrayList<Integer> Send(int totol,int count){
ArrayList<Integer> redList=new ArrayList<Integer>();
if(totol>super.getMoney()) {
System.out.println("餘額不足");
return redList;
}
super.show();
super.setMoney(super.getMoney()-totol);
int avg=totol/count;
int mod=totol%count;
for(int i=0;i<count-1;i++) {
redList.add(avg);
}
int last=avg+mod;
redList.add(last);
return redList;
}
}
package redPacket;
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 receive(ArrayList<Integer> arrayList) {
int index=new Random().nextInt(arrayList.size());
int getmoney=arrayList.remove(index);
super.setMoney(super.getMoney()+getmoney);
}
}
package redPacket;
import java.util.ArrayList;
public class Test {
public static void main(String[] args) {
Manager manager=new Manager("羣主",100);
Member member1=new Member("mem1",0);
Member member2=new Member("mem2",0);
Member member3=new Member("mem3",0);
ArrayList<Integer> arrayList = manager.Send(20, 3);
member1.receive(arrayList);
member2.receive(arrayList);
member3.receive(arrayList);
member1.show();
member2.show();
member3.show();
}
}