Java面向对象编程:教师和学生信息管理系统
Java面向对象编程:教师和学生信息管理系统
本项目使用Java面向对象编程思想,设计了Person、Teacher、Student三个类,模拟学校教师和学生信息管理系统。实现教师年终奖金计算和学生成绩评价功能。
1. 类设计
- Person类
public class Person {
private String name;
private String gender;
public Person(String name, String gender) {
this.name = name;
this.gender = gender;
}
public String getName() {
return name;
}
public String getGender() {
return gender;
}
public void showInfo() {
System.out.println('姓名:' + name + ',性别:' + gender);
}
}
- Teacher类
public class Teacher extends Person {
private String workId;
private int teachHours;
public Teacher(String name, String gender, String workId, int teachHours) {
super(name, gender);
this.workId = workId;
this.teachHours = teachHours;
}
public String getWorkId() {
return workId;
}
public int getTeachHours() {
return teachHours;
}
public void setTeachHours(int teachHours) {
this.teachHours = teachHours;
}
public void showInfo() {
super.showInfo();
System.out.println('工号:' + workId + ',授课时数:' + teachHours);
}
public int calculateBonus() {
int bonus = 0;
if (teachHours < 160) {
bonus = (160 - teachHours) * 50;
} else if (teachHours <= 320) {
bonus = (teachHours - 160) * 40;
} else {
bonus = 160 * 40;
}
return bonus;
}
}
- Student类
public class Student extends Person {
private String studentId;
private int score;
public Student(String name, String gender, String studentId, int score) {
super(name, gender);
this.studentId = studentId;
this.score = score;
}
public String getStudentId() {
return studentId;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
public String evaluate() {
if (score < 60) {
return '重修';
} else if (score < 70) {
return '及格';
} else if (score < 80) {
return '中';
} else if (score < 90) {
return '优秀';
} else {
return '奖学金';
}
}
public void showInfo() {
super.showInfo();
System.out.println('学号:' + studentId + ',成绩:' + score);
}
}
2. 主类
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Teacher> teachers = new ArrayList<>();
teachers.add(new Teacher('张三', '男', '001', 150));
teachers.add(new Teacher('李四', '女', '002', 180));
teachers.add(new Teacher('王五', '男', '003', 200));
List<Student> students = new ArrayList<>();
students.add(new Student('小明', '男', '101', 80));
students.add(new Student('小红', '女', '102', 70));
students.add(new Student('小刚', '男', '103', 50));
try {
PrintStream out = new PrintStream(new FileOutputStream('result.txt'));
System.setOut(out);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
// 遍历教师集合,计算奖金并打印信息
for (Teacher teacher : teachers) {
int bonus = teacher.calculateBonus();
teacher.showInfo();
System.out.println('奖金:' + bonus);
}
// 遍历学生集合,评价并打印信息
for (Student student : students) {
String result = student.evaluate();
student.showInfo();
System.out.println('评价:' + result);
}
}
}
总结
本项目使用Java面向对象编程思想,设计了Person、Teacher、Student三个类,模拟学校教师和学生信息管理系统,并实现了教师年终奖金计算和学生成绩评价功能。项目代码结构清晰,功能完善,可以作为Java学习和练习的参考。
原文地址: https://www.cveoy.top/t/topic/ndB1 著作权归作者所有。请勿转载和采集!