Ketty Allen 2021-11-05 16:12 采纳率: 60%
浏览 109
已结题

java类的继承相关程序!

寒窗苦读十余载,相信大家对于学生这个称谓已非常熟悉了,那么我们也知道,对于考试成绩会有一个评级功能,现在需要根据下面所描述的内容来实现一个学生成绩评级的程序。
假设本科生和研究生期末考试后都要进行成绩级别的评定。这两个类有一些共同的信息:学号,姓名,三门课的成绩,成绩评级方法,但两类学生在成绩的评定标准上有区别:
本科生标准80--100优秀;70--80良好;60--70一般;50--60及格;50以下不及格。
研究生标准90—100优秀80—90良好70—80一般60—70及格60以下不及格。
假设某班级里既有本科生也有研究生,请编写程序统计出每个学生的成绩等级(根据课程平均分计算等级)并显示出来。

这个如何实现?

  • 写回答

1条回答 默认 最新

  • 壹升茉莉清 宇信科技高级开发工程师 2021-11-05 16:46
    关注
    
    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);
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月6日
  • 已采纳回答 11月6日
  • 创建了问题 11月5日

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序