第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > 继承练习:发红包案例实现(群主发红包 群成员接收红包)

继承练习:发红包案例实现(群主发红包 群成员接收红包)

时间:2021-01-29 19:11:15

相关推荐

继承练习:发红包案例实现(群主发红包 群成员接收红包)

//Userpackage ExtendTest;/*群主发红包的功能实现(用到Extend):父类:User(用户)属性:name(姓名),money(总金额)方法:无参构造和含参数(name,money)构造,show方法显示totalmoney内容子类:Manager(群主)继承User的属性和构造方法自己的方法Send(),参数列表为(sendmoney钱包金额,count人数),返回值类型:Arraylist(list1)判断发送金额 > 余额,返回空集合,输出:余额不足!发送金额 <= 余额 则余额=余额 - 发送金额子类:Member(成员)继承User的属性和构造方法自己的方法receive(),返回值类型:void或者int(返回成员的余额)参数列表Arraylist<Integer>,随机获得集合Arraylist中的任意一个红包(随机数Random)*/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;}}//Managerpackage ExtendTest;import java.util.ArrayList;public class Manager extends User {//子类:群主public Manager() {// 有个默认super();方法}public Manager(String name, int money) {super(name, money);}public ArrayList<Integer> send(int sendmoney,int count){ArrayList<Integer> list1 = new ArrayList<Integer>();int leftmoney = super.getmoney();if (leftmoney < sendmoney){System.out.println("余额不足!");return list1;}super.setmoney(leftmoney - sendmoney);int avg = sendmoney/count;//均分count人后的每个红包的金额int mod = sendmoney%count;//红包未除尽的剩余金额(计入最后一个红包发送)for (int i = 0; i < count - 1; i++) {list1.add(avg);}int sum = avg + mod;list1.add(sum);return list1;}}//Memberpackage ExtendTest;import java.util.ArrayList;import java.util.Random;public class Member extends User{//子类:普通成员public Member() {// 默认含有一个super()}public Member(String name, int totalmoney) {super(name, totalmoney);}public int receive(ArrayList<Integer> list){int index = new Random().nextInt(list.size());int del = list.remove(index);super.setmoney(super.getmoney() + del);//现在余额=余额+红包金额return super.getmoney();}}//测试主类package ExtendTest;import java.util.ArrayList;public class RedPackageTest {public static void main(String[] args) {Manager manager = new Manager("群主",100);Member one = new Member("M1",10);Member two = new Member("M2",0);Member three = new Member("M3",5);manager.show();ArrayList<Integer> list=manager.send(20,3);manager.show();one.show();two.show();three.show();int onemoney = one.receive(list);System.out.println("M1's money:"+onemoney);System.out.println("M2's money:"+two.receive(list));System.out.println("M3's money:"+three.receive(list));}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。