JAVA实验报告
信通院28班2012210773
一:设计思路:
1.我们需要先定义一个student类,然后在类中定义成员变量以及构造方法,
利用构造方法对其进行初始化,然后定义一个getter和setter分别实现对类对象get到对象的属性,并利用setter的方法对其进行set,另外有toString 的成员方法,来对其转化为字符串输出。
2.第二步我们需要定义一个Graduatestudent的子类来继承父类student,那
么我们想到我们用extends就可以实现继承,在整个过程,我们需要想到对于子类中和父类相同的部分,我们可以直接用super来继承,对于子类中那些父类没有定义的地方我们需要加进去,在题目中要求我们加入两个属性,那么我们只需要用同样的构造方法,在后面传入新加入的属性并对其进行构造即可。对于父类中的方法与子类中想用的不同,那么这个时候我们需要重写方法toString(),重写的方法是:将方法命名为与父类相同的类方法名称,然后对其进行重写,写入我们想要的方法。
3.第三步,我们需要创建多个Graduatestudent的对象,然后将它加到一个集
合当中,我的思路是将之加入Arraylist集合,用add的方法将之加入即可,然后通过写入一个comparator来控制其排序的方式,最后调用Collections.sort(list,comparator),即可完成我们想要的排序(即根据学号进行排序),然后对Arraylist进行遍历即可输出全部的对象。
4.第四步需要我们将分数的最大值和最小值以及平均值输出,那么我们知道我
们仍然可以用第二步中同样的方法写入一个comparator1,来实现对对象分数的排序,那么我们只需要再调用SORT即可实现一个新的Arraylist,然后我们输出list.get(0)和list.get(list.size()-1)即可输出最大值和最小值,平均值只需要把所有的score放入一个数组array相加之后处以array 的长度length即可得出。
5.输出到文件:只需要用bufferedWriter方式将结果显示在一个txt文件里即
可。
二:关键代码及注释分析:
1. student1类的构造方法:
student1(int age,int number,String name,String genral){ ///传入形参对成员变量赋值
this.age=age;
this.number=number;
http://www.doczj.com/doc/f6c9076f5f0e7cd185253655.html=name;
this.genral=genral;
}
2.getter和setter的方法:(只举getAge和setAge 为例:)
public int getAge() {
return age;
}