溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Java如何實(shí)現(xiàn)簡易教務(wù)管理系統(tǒng)

發(fā)布時(shí)間:2020-07-30 10:26:04 來源:億速云 閱讀:191 作者:小豬 欄目:開發(fā)技術(shù)

這篇文章主要講解了Java如何實(shí)現(xiàn)簡易教務(wù)管理系統(tǒng),內(nèi)容清晰明了,對此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會有幫助。

Main.java

import java.util.Scanner;
 
public class Main {
 
	public static void main(String[] args) {
		System.out.println("\t\t簡易教務(wù)管理系統(tǒng)");
		System.out.println("1、錄入學(xué)生\t2、顯示學(xué)生\t3、錄入課程\t4、顯示課程\t5、錄入教師"
				   +"\t6、顯示教師\t7、學(xué)生選課\t8、教師錄入成績\t9、教師排課\t10、授課評價(jià)\t0、退出");
		Student[] students=null;	
		Course courses[]=null;
		Teacher teachers[]=null;
		Operator operator=new Operator();
		Scanner scan= new Scanner(System.in);	
		itcase: while (true) {
		  //顯示系統(tǒng)主菜單
		  	System.out.print("請選擇功能菜單:");
		  int choice = scan.nextInt();// 接收用戶的選擇			
				switch(choice){
					case 1:    // 輸入學(xué)生信息
						System.out.println("請輸入學(xué)生數(shù):");						
						int n = scan.nextInt();
						students = new Student[n];
						operator.addStudents(students);	
						break;
				 case 2:     // 顯示全部學(xué)生信息
				 	operator.displayStudents(students);
						break;
				 case 3://錄入課程
				 	System.out.println("請輸入課程數(shù):");
						n = scan.nextInt();
						courses = new Course[n];
						operator.addCourses(courses);
						break;
				 case 4: // 顯示課程
				 	operator.displayCourses(courses);
						break;
					case 5: // 錄入教師
						System.out.println("請輸入教師數(shù):");
						n = scan.nextInt();
						teachers = new Teacher[n];	
						operator.addTeachers(teachers);
						break;
					case 6:// 顯示教師
						operator.displayTeachers(teachers);
						break;
					case 7:// 學(xué)生選課
						operator.stuSelectCourses(students, courses);
						break;
					case 8:// 錄入成績
						operator.inputScores(students);
						break;
					case 9:// 教師排課
						operator.assignTeachCourses(teachers, courses);
						break;
					case 10:// 授課評價(jià)
						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;//學(xué)分
	
	//構(gòu)造方法
	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("請輸入學(xué)生信息:格式為課程號,課程名,學(xué)分");
		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()
					   +",學(xué)分:"+courses[i].getCredit());
		}
	}
	//錄入學(xué)生
	public void addStudents(Student[] students){	
		System.out.println("請輸入學(xué)生信息:格式為學(xué)號,姓名,性別,電話,地址,年齡");
		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]));
		}
	}
	
	//顯示學(xué)生所有信息
	public void displayStudents(Student[] students){
		for(int i=0;i<students.length;i++){
			System.out.println("學(xué)號:"+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+",授課評價(jià):"+teachers[i].teachCourse[j].evaluate);
				}
			}
		}
	}
	
	//學(xué)生選課	
	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("學(xué)號:"+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("請輸入學(xué)號:"+students[i].getStuId()
						   +",姓名:"+students[i].getStuName()
						   +", 課程編號為:"+students[i].selCourse[j].courseId+"的成績:");
				students[i].selCourse[j].grade=scan.nextDouble();
			}
		}
	}
	
	//教師授課評價(jià)
	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+"的授課評價(jià):");
				teachers[i].teachCourse[j].evaluate=scan.next();
			}
		}
	}
	
	//刪除某門課程
	public void delCourses(Course[] courses){
		System.out.println("請輸入要?jiǎng)h除課程的編號:");
		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 {
	//設(shè)置Student類的屬性
	private String stuId; //學(xué)號
	private String stuName; //姓名
	private String sex; //性別
	private String tel;  //電話號碼
	private String address; //地址
	private int age;  //年齡
	SelectCourse[] selCourse; //選修課程 
 
	//構(gòu)造方法 
	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;
	}
	
	//設(shè)置選修課程
	public void setSelCourse(String[] cIds) { //cIds課程號數(shù)組 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成績數(shù)組
		for(int j=0;j<grades.length;j++){
			selCourse[j].grade= grades[j];
		}
	}	
	//計(jì)算學(xué)生各門課程的平均成績
	double getAvg(){
		double sum=0;
		for(int i=0;i<selCourse.length;i++){
			sum=sum+selCourse[i].grade;
		}
		return sum/selCourse.length;
	}
	
	//計(jì)算學(xué)生各門課程的總和
	double getSum(){
		double sum=0;
		for(int i=0;i<selCourse.length;i++){
			sum=sum+selCourse[i].grade;
		}
		return sum;
	}
	
	//內(nèi)部類,用來記錄選修的課程及成績
	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 {
	//設(shè)置Teacher類的屬性
	private String teaId; //工號
	private String teaName; //姓名
	private String sex; //性別
	private String tel; //電話
	private String professor; //職稱
	private int age; //年齡
	TeachCourse teachCourse[]; //所授課程
	
	//構(gòu)造方法 
	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;
	}
	
	//所授課程設(shè)置
	public void setTeachCourse(String[] cIds) {
		teachCourse=new TeachCourse[cIds.length];
		for(int j=0;j<cIds.length;j++){
			teachCourse[j]= new TeachCourse(cIds[j]);
		}
	}
	//設(shè)置所授課程評價(jià)
	public void setTeachEvaluate(String[] evaluates) { //grades成績數(shù)組
		for(int j=0;j<evaluates.length;j++){
			teachCourse[j].evaluate= evaluates[j];
		}
	}	
	//內(nèi)部類,教師所授課程
	class TeachCourse{
		String courseId; //課程編號
		String evaluate; //課程評價(jià)
		TeachCourse(String courseId){
			this.courseId=courseId;			
		}
		TeachCourse(String courseId,String evaluate){
			this.courseId=courseId;
			this.evaluate=courseId;			
		}
	}
}

ps/測試數(shù)據(jù)

01,張三,男,13500043567,浙江杭州,21
02,李四,男,13099872371,浙江溫州,21
03,王五,男,13790972431,浙江金華,21
04,趙六,女,13190345445,浙江臺州,21
05,孫七,女,13943298712,浙江湖州,21

001,Java編程,6
002,網(wǎng)頁設(shè)計(jì),3.5
003,AppInventor,2

01,李老師,男,13500043567,講師,39
02,楊老師,女,13099872371,講師,38
03,高老師,女,13790972431,副教授,39
04,趙老師,男,13190345445,副教授,56
05,孫老師,女,13943298712,教授,47

看完上述內(nèi)容,是不是對Java如何實(shí)現(xiàn)簡易教務(wù)管理系統(tǒng)有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI