Java 面向对象编程:学生成绩判定系统
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());
}
}
代码分析
- Student 类:作为基类,定义了学生的基本属性,包括姓名和 3 门课程的成绩。还包含计算平均成绩的方法
getAverage()。 - Undergraduate 类:继承
Student类,并添加了判断是否通过考试的方法isPass(),其逻辑为平均成绩大于等于 60 则通过。 - Graduate 类:继承
Student类,并添加了判断是否通过考试的方法isPass(),其逻辑为平均成绩大于等于 75 则通过。 - Demo 类:用于测试,分别创建了本科生和研究生对象,并调用
isPass()方法判断是否通过考试。
总结
本代码演示了如何使用 Java 面向对象编程实现一个简单的学生成绩判定系统。通过继承和多态,代码简洁易懂,可扩展性强。在实际应用中,可以根据具体需求对代码进行完善和扩展,例如添加更多学生信息,更复杂的判定规则等。
原文地址: https://www.cveoy.top/t/topic/nGf3 著作权归作者所有。请勿转载和采集!