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);
    }
}