(1)声明Student类
属性包括:学号,姓名,英语成绩,数学成绩,计算机成绩,总成绩
包括构造方法,get方法,set方法,toString方法,equal方法,compare方法,sum方法,testscore方法
public classStudent {public intnumber;public doubleEgrade,Mgrade,Cgrade,Sumgrade,equalgrade,testscore;publicString name;publicStudent() {
}public void Student(int number,String name,double Egrade,double Mgrade,double Cgrade) {//构造方法
this.number=number;this.name=name;this.Egrade=Egrade;this.Cgrade=Cgrade;this.Mgrade=Mgrade;
}public int getnumber() {//get方法
returnnumber;
}publicString getname() {returnname;
}public doublegetEgrade() {returnEgrade;
}public doublegetMgrade() {returnMgrade;
}public doublegetCgrade() {returnCgrade;
}public doublegetSumgrade() {returnSumgrade;
}public doublegetequalgrade() {returnequalgrade;
}public void setnumber(int number) {//set方法
this.number=number;
}public voidsetname(String name) {this.name=name;
}public void setEgrade(doubleEgrade) {this.Egrade=Egrade;
}public void setMgrade(doubleMgrade) {this.Mgrade=Mgrade;
}public void setCgrade(doubleCgrade) {this.Cgrade=Cgrade;
}public void setSumgrade(doubleSumgrade) {this.Sumgrade=Sumgrade;
}public void setequalgrade(doubleequalgrade) {this.equalgrade=equalgrade;
}public void Sum() {//sum方法
Sumgrade=Egrade+Mgrade+Cgrade;
}public void equal() {//equal方法
equalgrade=Sumgrade/3;
}public void Compare(Student p) {//compare方法
if(this.Sumgrade>p.Sumgrade) {
System.out.println(this.name+"同学成绩高");
}else if(this.Sumgrade==p.Sumgrade) {
System.out.println("两位同学成绩相同");
}elseSystem.out.println(p.name+"同学成绩高");
}public voidtestScore() {
testscore=Sumgrade/3;
}public String toString() {//toString方法
return "Student [number=" + number + ", Egrade=" + Egrade + ", Mgrade=" + Mgrade + ", Cgrade=" +Cgrade+ ", Sumgrade=" + Sumgrade + ", equalgrade=" + equalgrade + ", name=" + name + "]";
}
}
此时的主函数调用为:
public classstudentmain {public static voidmain(String[] args) {//TODO Auto-generated method stub
Student c1=newStudent();
Student c2=newStudent();
c1.setnumber(2019110105);
c1.setname("chen");
c1.setEgrade(87);
c1.setMgrade(78);
c1.setCgrade(84);
c1.Sum();
c1.equal();
System.out.println("总成绩为:"+c1.getSumgrade());
System.out.println("平均成绩为:"+c1.getequalgrade());
System.out.println(c1.toString());
c2.Student(2019110104, "fang", 70, 78, 94);
c2.Sum();
c2.equal();
System.out.println(c2.toString());
c1.Compare(c2);
}
}
调用的结果为:
(2)声明StudentXW类为Student的子类
新增一个属性“zeren”,并且重写testscore方法,使它等于三科的平均值加5
public class StudentXW extendsStudent{publicString zeren;public voidgetzeren(String zeren) {this.zeren=zeren;
}publicString setzeren() {returnzeren;
}public voidtestScore() {
testscore=Sumgrade/3+5;
}publicString toString() {return "StudentXW [name=" + name + ", number=" + number + ", Egrade=" + Egrade + ", Mgrade=" +Mgrade+ ", Cgrade=" + Cgrade + ", Sumgrade=" + Sumgrade + ", equalgrade=" + equalgrade + ", testscore="
+ testscore + ", zeren=" + zeren + "]";
}
}
(3)声明StudentBZ类为Student的子类
跟上面Student相似,就是评测成绩改变了而已
public class StudentBZ extendsStudent{publicString zeren;public voidgetzeren(String zeren) {this.zeren=zeren;
}publicString setzeren() {returnzeren;
}public voidtestScore() {
testscore=Sumgrade/3+5;
}publicString toString() {return "StudentXW [name=" + name + ", number=" + number + ", Egrade=" + Egrade + ", Mgrade=" +Mgrade+ ", Cgrade=" + Cgrade + ", Sumgrade=" + Sumgrade + ", equalgrade=" + equalgrade + ", testscore="
+ testscore + ", zeren=" + zeren + "]";
}
}
(4)测评代码为:
public static voidmain(String[] args) {//TODO Auto-generated method stub
Student c1=newStudent();
Student c2=newStudent();
c1.setnumber(2019110105);
c1.setname("chen");
c1.setEgrade(87);
c1.setMgrade(78);
c1.setCgrade(84);
c1.Sum();
c1.equal();
System.out.println("总成绩为:"+c1.getSumgrade());
System.out.println("平均成绩为:"+c1.getequalgrade());
System.out.println(c1.toString());
c2.Student(2019110104, "fang", 70, 78, 94);
c2.Sum();
c2.equal();
System.out.println(c2.toString());
c1.Compare(c2);
StudentXW c3=newStudentXW();
c3.Student(2019110106, "xi", 60, 78, 88);
c3.getzeren("xuewei");
c3.Sum();
c3.testScore();
System.out.println(c3.toString());
StudentBZ c4=newStudentBZ();
c4.Student(2019110109, "jin", 62, 78, 94);
c4.getzeren("banzhang");
c4.Sum();
c4.equal();
c4.testScore();
System.out.println(c4.toString());
}
(5)实验结果为: