Java 实现简易教务管理系统的代码

 更新时间:2020年07月28日 11:28:17   作者:nochiller  
这篇文章主要介绍了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,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;			
		}
	}
}

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 实现简易教务管理系统的代码的文章就介绍到这了,更多相关Java教务管理系统内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java获取网络图片上传到OSS的方法

    java获取网络图片上传到OSS的方法

    这篇文章主要为大家详细介绍了java获取网络图片上传到OSS,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • 使用SpringMVC访问Controller接口返回400BadRequest

    使用SpringMVC访问Controller接口返回400BadRequest

    这篇文章主要介绍了使用SpringMVC访问Controller接口返回400BadRequest,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • 解决SSLContext.getInstance()中参数设置TLS版本无效的问题

    解决SSLContext.getInstance()中参数设置TLS版本无效的问题

    这篇文章主要介绍了解决SSLContext.getInstance()中参数设置TLS版本无效的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • 解决springboot利用ConfigurationProperties注解配置数据源无法读取配置信息问题

    解决springboot利用ConfigurationProperties注解配置数据源无法读取配置信息问题

    今天在学习springboot利用ConfigurationProperties注解配置数据源的使用遇到一个问题无法读取配置信息,发现全部为null,纠结是哪里出了问题呢,今天一番思考,问题根源找到,下面把我的解决方案分享到脚本之家平台,感兴趣的朋友一起看看吧
    2021-05-05
  • Java中的List集合初始化及常见方法解析

    Java中的List集合初始化及常见方法解析

    这篇文章主要介绍了Java中的List集合初始化及常见方法解析,List集合的特点是元素有序可重复,只要是带集合、数组的都叫有序,因若无序就不会存在有下标,本文来讲一下List集合初始化及常见方法,需要的朋友可以参考下
    2023-10-10
  • AsyncConfigurerSupport自定义异步线程池处理异常

    AsyncConfigurerSupport自定义异步线程池处理异常

    这篇文章主要为大家介绍了AsyncConfigurerSupport自定义异步线程池处理异常详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • 使用JSON.toJSONString格式化成json字符串时保留null属性

    使用JSON.toJSONString格式化成json字符串时保留null属性

    这篇文章主要介绍了使用JSON.toJSONString格式化成json字符串时保留null属性,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • mybatis plus in方法使用详解

    mybatis plus in方法使用详解

    这篇文章主要介绍了mybatis plus in方法使用详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • Spring 配置文件字段注入到List、Map

    Spring 配置文件字段注入到List、Map

    这篇文章主要介绍了Spring 配置文件字段注入到List、Map,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • Intellij IDEA 最全超实用快捷键整理(长期更新)

    Intellij IDEA 最全超实用快捷键整理(长期更新)

    这篇文章主要介绍了Intellij IDEA 最全实用快捷键整理(长期更新),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02

最新评论