使用JAVA编写程序定义考试类 Exam ,成员变量有学号 sno 、课程 subject ,其中 subject 是抽象类 Course 声明的变量,方法 query ()输出学号和课程的考试信息。 定义抽象类 Course ,成员变量有课程名 cname 、学分 credit ,包含一个抽象方法 getInfo (),用于获取课程的考试信息。 定义必修课程类 Required ,该类是 Course 类的子类,成员变量有成绩1、成绩2,重写 getInfo ()方法,计算总成绩=成绩1*0.3+成绩2*0.7,返回课程名、学分和总成绩。 编写主类,创建一个考试对象,输出学号和课程的考试信息。
时间: 2023-04-06 18:01:38 浏览: 116
JAVA类的定义与方法演示
4星 · 用户满意度95%
好的,这是一个关于JAVA编程的问题。根据题目要求,我们需要定义一个 Exam 类,其中包含学号 sno 和课程 subject 两个成员变量,其中 subject 是抽象类 Course 声明的变量。同时,我们还需要定义一个抽象类 Course,其中包含课程名 cname 和学分 credit 两个成员变量,以及一个抽象方法 getInfo(),用于获取课程的考试信息。我们还需要定义一个必修课程类 Required,该类是 Course 类的子类,包含成绩1和成绩2两个成员变量,重写 getInfo() 方法,计算总成绩并返回课程名、学分和总成绩。最后,我们需要编写主类,创建一个考试对象,输出学号和课程的考试信息。
下面是代码实现:
```
// 定义抽象类 Course
abstract class Course {
String cname; // 课程名
int credit; // 学分
// 抽象方法 getInfo,用于获取课程的考试信息
abstract String getInfo();
}
// 定义必修课程类 Required,该类是 Course 类的子类
class Required extends Course {
int score1; // 成绩1
int score2; // 成绩2
// 重写 getInfo() 方法,计算总成绩并返回课程名、学分和总成绩
String getInfo() {
double totalScore = score1 * 0.3 + score2 * 0.7;
return "课程名:" + cname + ",学分:" + credit + ",总成绩:" + totalScore;
}
}
// 定义考试类 Exam
class Exam {
String sno; // 学号
Course subject; // 课程
// 构造函数,初始化学号和课程
Exam(String sno, Course subject) {
this.sno = sno;
this.subject = subject;
}
// 输出学号和课程的考试信息
void query() {
System.out.println("学号:" + sno + "," + subject.getInfo());
}
}
// 主类
public class Main {
public static void main(String[] args) {
// 创建一个必修课程对象
Required course = new Required();
course.cname = "Java编程";
course.credit = 3;
course.score1 = 80;
course.score2 = 90;
// 创建一个考试对象
Exam exam = new Exam("20210001", course);
// 输出学号和课程的考试信息
exam.query();
}
}
```
输出结果为:
```
学号:20210001,课程名:Java编程,学分:3,总成绩:86.0
```
阅读全文