用Java写编写一个学生和教师数据输入和显示程序,学生数据有编号、姓名、班号、语文成绩、英语成绩、数学成绩,教师数据有编号、姓名、职称和部门。写一个学生类Student,老师类Teacher,老师录入学生成绩,统计输出该同学的平均成绩。
时间: 2023-07-10 15:17:22 浏览: 116
好的,我会按照你的要求进行回答。
首先,我们可以先定义一个学生类Student和一个教师类Teacher来存储学生和教师的数据信息。
```
public class Student {
private String id; // 学生编号
private String name; // 学生姓名
private String classNo; // 班级编号
private int chinese; // 语文成绩
private int english; // 英语成绩
private int math; // 数学成绩
// 构造方法
public Student(String id, String name, String classNo, int chinese, int english, int math) {
this.id = id;
this.name = name;
this.classNo = classNo;
this.chinese = chinese;
this.english = english;
this.math = math;
}
// getter和setter方法
// ...
}
public class Teacher {
private String id; // 教师编号
private String name; // 教师姓名
private String title; // 职称
private String department; // 部门
// 构造方法
public Teacher(String id, String name, String title, String department) {
this.id = id;
this.name = name;
this.title = title;
this.department = department;
}
// getter和setter方法
// ...
}
```
接下来,我们可以定义一个班级类Class,来存储该班级的学生和教师信息,并且实现一个方法来统计输出该同学的平均成绩。
```
import java.util.ArrayList;
import java.util.List;
public class Class {
private List<Student> students; // 学生列表
private Teacher teacher; // 班主任
// 构造方法
public Class(Teacher teacher) {
this.students = new ArrayList<Student>();
this.teacher = teacher;
}
// 添加学生
public void addStudent(Student student) {
this.students.add(student);
}
// 统计输出该同学的平均成绩
public double getAvgScore(String id) {
int totalScore = 0;
int count = 0;
for (Student student : students) {
if (student.getId().equals(id)) {
totalScore += student.getChinese() + student.getEnglish() + student.getMath();
count++;
}
}
if (count == 0) {
return 0.0;
}
return (double)totalScore / (3 * count);
}
}
```
最后,我们可以在主函数中测试这个程序。
```
public static void main(String[] args) {
// 创建教师对象
Teacher teacher = new Teacher("T001", "张三", "高级教师", "数学系");
// 创建班级对象
Class cls = new Class(teacher);
// 添加学生
cls.addStudent(new Student("S001", "小明", "001", 80, 85, 90));
cls.addStudent(new Student("S002", "小红", "001", 70, 75, 80));
cls.addStudent(new Student("S003", "小刚", "001", 90, 95, 85));
// 统计输出该同学的平均成绩
double avgScore = cls.getAvgScore("S001");
System.out.println("S001的平均成绩为:" + avgScore);
}
```
输出结果为:
```
S001的平均成绩为:85.0
```
阅读全文