萌新第一次几率自己学习Java的历程
也忘了自己在哪个大牛的文章里看到过这句话:“一个好的程序员一定要写博客!”,
然后我就来记录下自己的Java学习历程,希望自己能够坚持!
数了下手指,这是在培训机构(要是培训机构好的话我以后再说吧,
不然以为我收了钱当水军)的第9天学习,转眼间已经半个月了,可是感觉自己还没入门.
今天就记录下所学的<继承与抽象>相关练习.
import java.util.ArrayList;
import java.util.Random;
public class jiChengTest02 {
public static void main(String[] args) {
// 群主发普通红包。某群有多名成员,群主给成员发普通红包。普通红包的规则:
// 1. 群主的一笔金额,从群主余额中扣除,平均分成n等份,让成员领取。
// 2. 成员领取红包后,保存到成员余额中。
// 请根据描述,完成案例中所有类的定义以及指定类之间的继承关系,并完成发红包的操作。
Qunzhu qz = new Qunzhu("王思聪",100);
ArrayList<Integer> al = qz.Send(20,3);//发红包,
//将数组al带回main方法并定义变量接收
Diaosi ds1 = new Diaosi("屌丝一",10);
Diaosi ds2 = new Diaosi("屌丝二",0);
Diaosi ds3 = new Diaosi("屌丝二",5);
//给各大屌丝发红包
ds1.get(al);
ds3.get(al);
ds2.get(al);
//下面定义过一个查看余额show
qz.show1();
ds1.show();
ds2.show();
ds3.show();
}
}
//定义一个群主继承父类
class Qunzhu extends Client{
public Qunzhu() {
}
public Qunzhu(String name, int money) {
super(name, money);
}
//发红包,搞个集合,装钱,分多少个,发多少钱,给屌丝抢,方法里做一个集合,带回去给main方法
public ArrayList<Integer> Send(int money,int count) {
//其实后来我想自己扩散一下使红包金额为随机数值,发现自己还完成不了...
ArrayList<Integer> al = new ArrayList();
int avg = money/count;//6,6,6
int mod = money%count;//2
for (int i = 0; i < count - 1; i++) {//0,1
al.add(avg);
}
al.add(avg+mod);
//发完钱要扣钱
//这里getMoney是最开头含参数定义的money=100,
//这里money是Send方法里面set的money=20
setMoney(getMoney()-money);
//先创建一个集合分装红包,然后定义变量接受分装,赋予数组al,然后扣除money,将数组al带回main方法并定义变量接收
return al;
}
}
//定义一个屌丝继承父类
class Diaosi extends Client{
public Diaosi() {
}
public Diaosi(String name, int money) {super(name, money);}
//抢红包
public void get(ArrayList<Integer> al) {
//随机一个索引,抢完之后移除数组al里面的钱,用remove移除并return 6
Random r = new Random();
int i = r.nextInt(al.size());
int money = al.remove(i);
//这个money就是抢到并且已移除的红包al,给屌丝的余额重新赋值,总的钱+抢的钱
setMoney(getMoney()+money);
//这里getmoney是main方法里赋值的money,money是diaosi方法里面int的money
}
}
//定义一个客户类,然后老师教的alt+insert完getting,setting,有备无患哈哈哈
class Client{
private String name;
private int money;
public Client() { }
public Client(String name, int money) {
this.name = name;
this.money = 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; }
public void show() {
System.out.println(name+"抢完红包余额有"+money+"元");
}
public void show1() {
//因为发现如果成员qz也使用上面show语句的话也变成抢红包了,所以新增了个show1
System.out.println(name+"发完红包余额有"+money+"元");
}
}
代码都是跟着老师敲的,看起来十分冗杂,一些赋值方面的知识还恨不能理解,希望自己加油加油!