东软来我们学校讲的课程,个人感觉很水,但是作为java面向对象入门挺不错的
一.Main.java
package com.neusoft;
import java.util.ArrayList;
public class Main {
public static void main(String[] args){
//创建群主
Manager m = new Manager("群主A",10000);
//创建群成员
Member a = new Member("成员A",0);
Member b = new Member("成员B",0);
Member c = new Member("成员C",0);
Member d = new Member("成员D",0);
//获取红包列表
ArrayList<Float> redPacket = m.sendRed(100,6);
//显示当前金额
a.show();
b.show();
c.show();
d.show();
//从列表中随机取一个金额
a.recevice(redPacket);
b.recevice(redPacket);
c.recevice(redPacket);
d.recevice(redPacket);
//显示当前金额
a.show();
b.show();
c.show();
d.show();
}
}
二.User.java
package com.neusoft;
//用于生成群主和群成员的父类
public class User {
//成员变量
private String uname;
private float leftMoney;
//构造函数
public User(){
}
//构造函数
public User(String uname, float leftMoney) {
this.uname = uname;
this.leftMoney = leftMoney;
}
//展示函数
public void show(){
System.out.println("姓名:"+this.uname+" 余额:"+this.leftMoney);
}
//一键生成的四个get和set方法
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public float getLeftMoney() {
return leftMoney;
}
public void setLeftMoney(float leftMoney) {
this.leftMoney = leftMoney;
}
}
三.Manager.java
package com.neusoft;
import java.util.ArrayList;
import java.util.Random;
public class Manager extends User{
//构造函数
public Manager(){
}
//构造函数
public Manager(String uname, float leftMoney) {
super(uname, leftMoney);
}
//发红包函数,生成对应的红包金额列表
public ArrayList<Float> sendRed(float totalMoney,int count){
//申请内存
ArrayList<Float> redList = new ArrayList<Float>();
//发红包余额判断
if(this.getLeftMoney()<totalMoney){
System.out.println("余额不足");
//余额不足返回空列表
return redList;
}
//申请随机数
Random r = new Random();
//获取总金额
float remainMoney = totalMoney;
//获取红包个数
int remainNum = count;
//依次获取单个红包金额
while (remainNum>1){
//获取随机金额
float m = r.nextFloat()*remainMoney;
//使金额不少于0.01
if(m<0.01){
m=0.01f;
}
//计算当前余额
remainMoney = remainMoney - m;
//加入红包金额列表
redList.add(m);
//红包个数减少
remainNum--;
}
//将余额放进最后一个红包
redList.add(remainMoney);
//返回红包金额列表
return redList;
}
}
四.Member.java
package com.neusoft;
import java.util.ArrayList;
import java.util.Random;
public class Member extends User{
//构造函数
public Member() {
}
//构造函数
public Member(String uname, float leftMoney) {
super(uname, leftMoney);
}
//判断红包个数是否存在
public void recevice(ArrayList<Float> list){
if(list.size()<=0){
//红包抢空提示
System.out.println("手慢了");
return;
}
//获取随机金额下标
int index = new Random().nextInt(list.size());
//删除该下标
float del = list.remove(index);
//更新余额
this.setLeftMoney(this.getLeftMoney()+del);
}
}