Java 面向对象编程:学生成绩判定系统

本代码演示了使用 Java 面向对象编程实现一个简单的学生成绩判定系统。该系统根据学生的 3 门课程的分数决定其是否可以拿到学位。对本科生,如果 3 门课程的平均分超过 60 既表示通过,研究生则平均分超过 75 才可通过。

代码实现

//学生类
class Student{
    String name;
    int score1;
    int score2;
    int score3;
    
    //构造方法
    public Student(String name, int score1, int score2, int score3){
        this.name = name;
        this.score1 = score1;
        this.score2 = score2;
        this.score3 = score3;
    }
    
    //计算平均分
    public double getAverage(){
        return (score1 + score2 + score3) / 3.0;
    }
}

//本科生类
class Undergraduate extends Student{
    
    //构造方法
    public Undergraduate(String name, int score1, int score2, int score3){
        super(name, score1, score2, score3);
    }
    
    //判断是否通过考试
    public boolean isPass(){
        return getAverage() >= 60;
    }
}

//研究生类
class Graduate extends Student{
    
    //构造方法
    public Graduate(String name, int score1, int score2, int score3){
        super(name, score1, score2, score3);
    }
    
    //判断是否通过考试
    public boolean isPass(){
        return getAverage() >= 75;
    }
}

//测试类
public class Demo{
    public static void main(String[] args){
        //创建本科生对象
        Undergraduate undergraduate = new Undergraduate('小明', 80, 85, 90);
        System.out.println('本科生 ' + undergraduate.name + ' 是否通过考试:' + undergraduate.isPass());
        
        //创建研究生对象
        Graduate graduate = new Graduate('小红', 85, 90, 95);
        System.out.println('研究生 ' + graduate.name + ' 是否通过考试:' + graduate.isPass());
    }
}

代码分析

  1. Student 类:作为基类,定义了学生的基本属性,包括姓名和 3 门课程的成绩。还包含计算平均成绩的方法 getAverage()
  2. Undergraduate 类:继承 Student 类,并添加了判断是否通过考试的方法 isPass(),其逻辑为平均成绩大于等于 60 则通过。
  3. Graduate 类:继承 Student 类,并添加了判断是否通过考试的方法 isPass(),其逻辑为平均成绩大于等于 75 则通过。
  4. Demo 类:用于测试,分别创建了本科生和研究生对象,并调用 isPass() 方法判断是否通过考试。

总结

本代码演示了如何使用 Java 面向对象编程实现一个简单的学生成绩判定系统。通过继承和多态,代码简洁易懂,可扩展性强。在实际应用中,可以根据具体需求对代码进行完善和扩展,例如添加更多学生信息,更复杂的判定规则等。


原文地址: https://www.cveoy.top/t/topic/nGf3 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录