Java 简易教务管理系统

220 阅读5分钟


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,002		selCourse=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;					}	}}