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(existingAmount list=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 希望大佬们多多指教。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。