这篇文章主要讲解了Java如何实现简易教务管理系统,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。

Main.java

import java.util.Scanner; public class Main { public static void main(String[] args) {System.out.println("\t\t简易教务管理系统");System.out.println("1、录入学生\t2、显示学生\t3、录入课程\t4、显示课程\t5、录入教师" +"\t6、显示教师\t7、学生选课\t8、教师录入成绩\t9、教师排课\t10、授课评价\t0、退出");Student[] students=null;Course courses[]=null;Teacher teachers[]=null;Operator operator=new Operator();Scanner scan= new Scanner(System.in);itcase: while (true) { //显示系统主菜单 System.out.print("请选择功能菜单:"); int choice = scan.nextInt();// 接收用户的选择switch(choice){case 1: // 输入学生信息System.out.println("请输入学生数:");int n = scan.nextInt();students = new Student[n];operator.addStudents(students);break; case 2: // 显示全部学生信息 operator.displayStudents(students);break; case 3://录入课程 System.out.println("请输入课程数:");n = scan.nextInt();courses = new Course[n];operator.addCourses(courses);break; case 4: // 显示课程 operator.displayCourses(courses);break;case 5: // 录入教师System.out.println("请输入教师数:");n = scan.nextInt();teachers = new Teacher[n];operator.addTeachers(teachers);break;case 6:// 显示教师operator.displayTeachers(teachers);break;case 7:// 学生选课operator.stuSelectCourses(students, courses);break;case 8:// 录入成绩operator.inputScores(students);break;case 9:// 教师排课operator.assignTeachCourses(teachers, courses);break;case 10:// 授课评价operator.inputEvaluate(teachers);break;case 0:// 退出break itcase;default:System.out.println("非法命令!");}} }

Course.java

public class Course {private String courseId;//课程号private String courseName;//课程名称private double credit;//学分//构造方法Course(){}Course(String courseId,String courseName,double credit){this.setCourseId(courseId);this.setCourseName(courseName);this.setCredit(credit);}public String getCourseId() {return courseId;}public void setCourseId(String courseId) {this.courseId = courseId;}public String getCourseName() {return courseName;}public void setCourseName(String courseName) {this.courseName = courseName;}public double getCredit() {return credit;}public void setCredit(double credit) {this.credit = credit;}}

Operator.java

import java.util.Scanner; public class Operator {Scanner scan;Operator(){scan= new Scanner(System.in);}//录入课程public void addCourses(Course[] courses){System.out.println("请输入学生信息:格式为课程号,课程名,学分");String str;String sInfor[];for(int i=0;i<courses.length;i++){str=scan.next();sInfor=str.split(",");courses[i]=new Course(sInfor[0],sInfor[1],Double.parseDouble(sInfor[2]));}}//显示所有课程public void displayCourses(Course[] courses){for(int i=0;i<courses.length;i++){System.out.println("课程号:"+courses[i].getCourseId()+",课程名:"+courses[i].getCourseName() +",学分:"+courses[i].getCredit());}}//录入学生public void addStudents(Student[] students){System.out.println("请输入学生信息:格式为学号,姓名,性别,电话,地址,年龄");String str;String sInfor[];for(int i=0;i<students.length;i++){str=scan.next();sInfor=str.split(",");students[i]=new Student(sInfor[0],sInfor[1],sInfor[2],sInfor[3], sInfor[4],Integer.parseInt(sInfor[5]));}}//显示学生所有信息public void displayStudents(Student[] students){for(int i=0;i<students.length;i++){System.out.println("学号:"+students[i].getStuId()+",姓名:"+students[i].getStuName() +",性别:"+students[i].getSex()+",电话:"+students[i].getTel() +",住址:"+students[i].getAddress()+",年龄:"+students[i].getAge());if(students[i].selCourse!=null){for(int j=0;j<students[i].selCourse.length;j++){System.out.println("\t\t课程编号:"+students[i].selCourse[j].courseId+",成绩:" +students[i].selCourse[j].grade);}}}}//录入教师public void addTeachers(Teacher[] teachers){System.out.println("请输入教师信息:格式为工号,姓名,性别,电话,职称,年龄");String str;String sInfor[];for(int i=0;i<teachers.length;i++){str=scan.next();sInfor=str.split(",");teachers[i]=new Teacher(sInfor[0],sInfor[1],sInfor[2],sInfor[3],sInfor[4],Integer.parseInt(sInfor[5]));}}//显示教师所有信息public void displayTeachers(Teacher[] teachers){for(int i=0;i<teachers.length;i++){System.out.println("工号:"+teachers[i].getTeaId()+",姓名:"+teachers[i].getTeaName() +",性别:"+teachers[i].getSex()+",电话:"+teachers[i].getTel() +",职称:"+teachers[i].getProfessor()+",年龄:"+teachers[i].getAge());if(teachers[i].teachCourse!=null){for(int j=0;j<teachers[i].teachCourse.length;j++){System.out.println("\t\t课程编号:"+teachers[i].teachCourse[j].courseId+",授课评价:"+teachers[i].teachCourse[j].evaluate);}}}}//学生选课public void stuSelectCourses(Student[] students,Course[] courses){System.out.println();System.out.println("\t课程信息系如下:");for(int i=0;i<courses.length;i++){System.out.println("课程号:"+courses[i].getCourseId()+"\t"+"课程名称:" +courses[i].getCourseName());}System.out.println();System.out.println("请选择选修课程,格式为:课程号1,课程号2,......");for(int i=0;i<students.length;i++){System.out.println("学号:"+students[i].getStuId()+",姓名:" +students[i].getStuName()+" 选课:");String str=scan.next();String[] cIds=str.split(",");students[i].setSelCourse(cIds);}}//教师排课public void assignTeachCourses(Teacher[] teachers,Course[] courses){System.out.println();System.out.println("\t课程信息系如下:");for(int i=0;i<courses.length;i++){System.out.println("课程号:"+courses[i].getCourseId() +"\t"+"课程名称:"+courses[i].getCourseName());}System.out.println();System.out.println("请选择课程,格式为:课程号1,课程号2,......");for(int i=0;i<teachers.length;i++){System.out.println("工号:"+teachers[i].getTeaId() +",姓名:"+teachers[i].getTeaName()+" 排课:");String[] cIds=scan.next().split(",");teachers[i].setTeachCourse(cIds);}}//教师录入成绩public void inputScores(Student[] students){for(int i=0;i<students.length;i++){for(int j=0;j<students[i].selCourse.length;j++){System.out.println("请输入学号:"+students[i].getStuId() +",姓名:"+students[i].getStuName() +", 课程编号为:"+students[i].selCourse[j].courseId+"的成绩:");students[i].selCourse[j].grade=scan.nextDouble();}}}//教师授课评价public void inputEvaluate(Teacher[] teachers){for(int i=0;i<teachers.length;i++){for(int j=0;j<teachers[i].teachCourse.length;j++){System.out.println("请输入工号:"+teachers[i].getTeaId()+",姓名:"+teachers[i].getTeaName() +", 课程编号为:"+teachers[i].teachCourse[j].courseId+"的授课评价:");teachers[i].teachCourse[j].evaluate=scan.next();}}}//删除某门课程public void delCourses(Course[] courses){System.out.println("请输入要删除课程的编号:");String courseId=scan.next();for(int i=0;i<courses.length;i++){if(courses[i].getCourseId().equals(courseId)){courses[i]=null;}}}}

Student.java

public class Student {//设置Student类的属性private String stuId; //学号private String stuName; //姓名private String sex; //性别private String tel; //电话号码private String address; //地址private int age; //年龄SelectCourse[] selCourse; //选修课程 //构造方法 Student(){ }Student(String stuId,String stuName){this.stuId=stuId;this.stuName=stuName; }Student(String stuId,String stuName,String sex,String tel,String address,int age){this(stuId,stuName); //this的用法this.sex=sex;this.tel=tel; this.address=address; //地址this.age=age; }public String getStuId() {return stuId;}public void setStuId(String stuId) {this.stuId = stuId;}//姓名属性封装public String getStuName() {return stuName;}public void setStuName(String stuName) {this.stuName = stuName;}//性别属性封装public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}//电话属性封装public String getTel() {return tel;}public void setTel(String tel) {this.tel = tel;}//地址属性封装public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}//年龄属性封装public int getAge() {return age;}public void setAge(int age) {this.age = age;}//设置选修课程public void setSelCourse(String[] cIds) { //cIds课程号数组 001,002selCourse=new SelectCourse[cIds.length];for(int j=0;j<cIds.length;j++){selCourse[j]= new SelectCourse(cIds[j]);}}//录入选修课程成绩public void setSelCourseGrade(double[] grades) { //grades成绩数组for(int j=0;j<grades.length;j++){selCourse[j].grade= grades[j];}}//计算学生各门课程的平均成绩double getAvg(){double sum=0;for(int i=0;i<selCourse.length;i++){sum=sum+selCourse[i].grade;}return sum/selCourse.length;}//计算学生各门课程的总和double getSum(){double sum=0;for(int i=0;i<selCourse.length;i++){sum=sum+selCourse[i].grade;}return sum;}//内部类,用来记录选修的课程及成绩class SelectCourse{String courseId;double grade;SelectCourse(){}SelectCourse(String courseId){this.courseId=courseId;}SelectCourse(String courseId,double grade){this.courseId=courseId;this.grade=grade;}}}

Teacher.java

public class Teacher {//设置Teacher类的属性private String teaId; //工号private String teaName; //姓名private String sex; //性别private String tel; //电话private String professor; //职称private int age; //年龄TeachCourse teachCourse[]; //所授课程//构造方法 Teacher(){ }Teacher(String teaId,String teaName){this.teaId=teaId;this.teaName=teaName; }Teacher(String teaId,String teaName,String sex,String tel,String professor,int age){this(teaId,teaName); //this的用法this.sex=sex;this.tel=tel; this.professor=professor; //地址this.age=age; }//工号属性封装public String getTeaId() {return teaId;}public void setTeaId(String teaId) {this.teaId = teaId;}//姓名属性封装public String getTeaName() {return teaName;}public void setTeaName(String teaName) {this.teaName = teaName;}//性别属性封装public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}//电话属性封装public String getTel() {return tel;}public void setTel(String tel) {this.tel = tel;}//职称属性封装public String getProfessor() {return professor;}public void setProfessor(String professor) {this.professor = professor;}//年龄属性封装public int getAge() {return age;}public void setAge(int age) {this.age = age;}//所授课程设置public void setTeachCourse(String[] cIds) {teachCourse=new TeachCourse[cIds.length];for(int j=0;j<cIds.length;j++){teachCourse[j]= new TeachCourse(cIds[j]);}}//设置所授课程评价public void setTeachEvaluate(String[] evaluates) { //grades成绩数组for(int j=0;j<evaluates.length;j++){teachCourse[j].evaluate= evaluates[j];}}//内部类,教师所授课程class TeachCourse{String courseId; //课程编号String evaluate; //课程评价TeachCourse(String courseId){this.courseId=courseId;}TeachCourse(String courseId,String evaluate){this.courseId=courseId;this.evaluate=courseId;}}}

ps/测试数据

01,张三,男,13500043567,浙江杭州,21
02,李四,男,13099872371,浙江温州,21
03,王五,男,13790972431,浙江金华,21
04,赵六,女,13190345445,浙江台州,21
05,孙七,女,13943298712,浙江湖州,21

001,Java编程,6
002,网页设计,3.5
003,AppInventor,2

01,李老师,男,13500043567,讲师,39
02,杨老师,女,13099872371,讲师,38
03,高老师,女,13790972431,副教授,39
04,赵老师,男,13190345445,副教授,56
05,孙老师,女,13943298712,教授,47

看完上述内容,是不是对Java如何实现简易教务管理系统有进一步的了解,如果还想学习更多内容,欢迎关注亿速云行业资讯频道。