java类的继承相关程序!
问题描述:
寒窗苦读十余载,相信大家对于学生这个称谓已非常熟悉了,那么我们也知道,对于考试成绩会有一个评级功能,现在需要根据下面所描述的内容来实现一个学生成绩评级的程序。
假设本科生和研究生期末考试后都要进行成绩级别的评定。这两个类有一些共同的信息:学号,姓名,三门课的成绩,成绩评级方法,但两类学生在成绩的评定标准上有区别:
本科生标准80--100优秀;70--80良好;60--70一般;50--60及格;50以下不及格。
研究生标准90—100优秀80—90良好70—80一般60—70及格60以下不及格。
假设某班级里既有本科生也有研究生,请编写程序统计出每个学生的成绩等级(根据课程平均分计算等级)并显示出来。
这个如何实现?
答
public class StudentDemo {
public static void main(String[] args) {
Student ben = new Ben(-1);
Student yan = new Yan(101);
String grade = ben.getGrade(ben);
String grade1 = yan.getGrade(yan);
System.out.println(grade);
System.out.println(grade1);
}
}
class Student {
private String code;
private String name;
private int score;
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
public Student(int score) {
this.score = score;
}
public String getGrade (Student student) {
int score = student.getScore();
if (score<0 || score>100) {
return "error";
}
if (student instanceof Ben) {
if (score>=80 && score<=100) {
return "优秀";
} else if (score>=70 && score<80) {
return "良好";
}else if (score>=60 && score<70) {
return "一般";
}else if (score>=50 && score<60) {
return "及格";
}else if (score>=0 && score<50) {
return "不及格";
}
} else if (student instanceof Yan) {
if (score>=90 && score<=100) {
return "优秀";
} else if (score>=80 && score<90) {
return "良好";
}else if (score>=70 && score<80) {
return "一般";
}else if (score>=60 && score<70) {
return "及格";
}else if (score>=0 && score<60) {
return "不及格";
}
}
return "error";
}
}
class Ben extends Student{
public Ben(int score) {
super(score);
}
}
class Yan extends Student{
public Yan(int score) {
super(score);
}
}