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 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥15 想问一下树莓派接上显示屏后出现如图所示画面,是什么问题导致的
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化