Java面向对象编程:教师和学生信息管理系统

本项目使用Java面向对象编程思想,设计了Person、Teacher、Student三个类,模拟学校教师和学生信息管理系统。实现教师年终奖金计算和学生成绩评价功能。

1. 类设计

  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);
    }
}
  1. 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;
    }
}
  1. 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学习和练习的参考。

Java面向对象编程:教师和学生信息管理系统

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

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