Java实现发红包功能
Java发红包案例,供大家参考,具体内容如下
首先我们需要分析这个代码的架构是什么,需要什么类组成等。
我们需要建立4个类,这4个类分别是用户类、群主类、成员类,运行类;
因为群主类和成员类都有共同的特点--------拥有名字和余额,所以需要用户类去存储名字与余额
第一步:我们需要建立一个用户类,里面存储的是名字和余额
packageJava.RedPacketCode;
publicclassUserClass{
privateStringname;
privateintbalance;
publicUserClass(Stringname,intbalance){
this.name=name;
this.balance=balance;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicStringgetName(){
returnname;
}
publicvoidsetBalance(intbalance){
this.balance=balance;
}
publicintgetBalance(){
returnbalance;
}
publicvoidshow(){
System.out.println("Name:"+name+"****"+"RMB:"+balance);
}
}
第二步:我们需要一个群主类去继承用户类
packageJava.RedPacketCode;
importjava.util.ArrayList;
publicclassGroupMainClassextendsUserClass{
publicGroupMainClass(Stringname,intbalance){
super(name,balance);
}
publicArrayListhandOutRedEnvelopes(intamountRequired,intcount){
intexistingAmount=super.getBalance();
if(existingAmountlist=newArrayList<>();
for(inti=0;i
第三步:我们需要建立一个成员类去继承用户类
packageJava.RedPacketCode;
importjava.util.ArrayList;
importjava.util.Random;
publicclassMemberClassextendsUserClass{
publicMemberClass(Stringname,intbalance){
super(name,balance);
}
publicvoidredEnvelopes(ArrayListlist){
Randomr=newRandom();
intindex=r.nextInt(list.size());
intmoney=list.remove(index);
intexistingAmount=super.getBalance();
inttotalAmount=money+existingAmount;
super.setBalance(totalAmount);
}
}
第四步:我们需要建立一个运行类,用来运行代码
packageJava.RedPacketCode;
importjava.util.ArrayList;
importjava.util.Scanner;
publicclassMain{
publicstaticvoidmain(String[]args){
GroupMainClassgmc=newGroupMainClass("Groupleader",200);
gmc.show();
MemberClassmc1=newMemberClass("Tom",0);
MemberClassmc2=newMemberClass("Jack",0);
MemberClassmc3=newMemberClass("Jenny",0);
UserClassarrays[]={mc1,mc2,mc3};
for(inti=0;ilist=gmc.handOutRedEnvelopes(money,count);
mc1.redEnvelopes(list);
mc2.redEnvelopes(list);
mc3.redEnvelopes(list);
for(inti=0;i
希望大佬们多多指教。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。