Java 實(shí)現(xiàn)簡(jiǎn)易教務(wù)管理系統(tǒng)的代碼
Main.java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.println("\t\t簡(jiǎn)易教務(wù)管理系統(tǒng)");
System.out.println("1、錄入學(xué)生\t2、顯示學(xué)生\t3、錄入課程\t4、顯示課程\t5、錄入教師"
+"\t6、顯示教師\t7、學(xué)生選課\t8、教師錄入成績(jī)\t9、教師排課\t10、授課評(píng)價(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("請(qǐng)選擇功能菜單:");
int choice = scan.nextInt();// 接收用戶的選擇
switch(choice){
case 1: // 輸入學(xué)生信息
System.out.println("請(qǐng)輸入學(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("請(qǐng)輸入課程數(shù):");
n = scan.nextInt();
courses = new Course[n];
operator.addCourses(courses);
break;
case 4: // 顯示課程
operator.displayCourses(courses);
break;
case 5: // 錄入教師
System.out.println("請(qǐng)輸入教師數(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:// 錄入成績(jī)
operator.inputScores(students);
break;
case 9:// 教師排課
operator.assignTeachCourses(teachers, courses);
break;
case 10:// 授課評(píng)價(jià)
operator.inputEvaluate(teachers);
break;
case 0:// 退出
break itcase;
default:
System.out.println("非法命令!");
}
}
}
Course.java
public class Course {
private String courseId;//課程號(hào)
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("請(qǐng)輸入學(xué)生信息:格式為課程號(hào),課程名,學(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("課程號(hào):"+courses[i].getCourseId()+",課程名:"+courses[i].getCourseName()
+",學(xué)分:"+courses[i].getCredit());
}
}
//錄入學(xué)生
public void addStudents(Student[] students){
System.out.println("請(qǐng)輸入學(xué)生信息:格式為學(xué)號(hào),姓名,性別,電話,地址,年齡");
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é)號(hào):"+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課程編號(hào):"+students[i].selCourse[j].courseId+",成績(jī):"
+students[i].selCourse[j].grade);
}
}
}
}
//錄入教師
public void addTeachers(Teacher[] teachers){
System.out.println("請(qǐng)輸入教師信息:格式為工號(hào),姓名,性別,電話,職稱,年齡");
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("工號(hào):"+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課程編號(hào):"+teachers[i].teachCourse[j].courseId+",授課評(píng)價(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("課程號(hào):"+courses[i].getCourseId()+"\t"+"課程名稱:"
+courses[i].getCourseName());
}
System.out.println();
System.out.println("請(qǐng)選擇選修課程,格式為:課程號(hào)1,課程號(hào)2,......");
for(int i=0;i<students.length;i++){
System.out.println("學(xué)號(hào):"+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("課程號(hào):"+courses[i].getCourseId()
+"\t"+"課程名稱:"+courses[i].getCourseName());
}
System.out.println();
System.out.println("請(qǐng)選擇課程,格式為:課程號(hào)1,課程號(hào)2,......");
for(int i=0;i<teachers.length;i++){
System.out.println("工號(hào):"+teachers[i].getTeaId()
+",姓名:"+teachers[i].getTeaName()+" 排課:");
String[] cIds=scan.next().split(",");
teachers[i].setTeachCourse(cIds);
}
}
//教師錄入成績(jī)
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("請(qǐng)輸入學(xué)號(hào):"+students[i].getStuId()
+",姓名:"+students[i].getStuName()
+", 課程編號(hào)為:"+students[i].selCourse[j].courseId+"的成績(jī):");
students[i].selCourse[j].grade=scan.nextDouble();
}
}
}
//教師授課評(píng)價(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("請(qǐng)輸入工號(hào):"+teachers[i].getTeaId()+",姓名:"+teachers[i].getTeaName()
+", 課程編號(hào)為:"+teachers[i].teachCourse[j].courseId+"的授課評(píng)價(jià):");
teachers[i].teachCourse[j].evaluate=scan.next();
}
}
}
//刪除某門課程
public void delCourses(Course[] courses){
System.out.println("請(qǐng)輸入要?jiǎng)h除課程的編號(hào):");
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é)號(hào)
private String stuName; //姓名
private String sex; //性別
private String tel; //電話號(hào)碼
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課程號(hào)數(shù)組 001,002
selCourse=new SelectCourse[cIds.length];
for(int j=0;j<cIds.length;j++){
selCourse[j]= new SelectCourse(cIds[j]);
}
}
//錄入選修課程成績(jī)
public void setSelCourseGrade(double[] grades) { //grades成績(jī)數(shù)組
for(int j=0;j<grades.length;j++){
selCourse[j].grade= grades[j];
}
}
//計(jì)算學(xué)生各門課程的平均成績(jī)
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)部類,用來(lái)記錄選修的課程及成績(jī)
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; //工號(hào)
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;
}
//工號(hào)屬性封裝
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è)置所授課程評(píng)價(jià)
public void setTeachEvaluate(String[] evaluates) { //grades成績(jī)數(shù)組
for(int j=0;j<evaluates.length;j++){
teachCourse[j].evaluate= evaluates[j];
}
}
//內(nèi)部類,教師所授課程
class TeachCourse{
String courseId; //課程編號(hào)
String evaluate; //課程評(píng)價(jià)
TeachCourse(String courseId){
this.courseId=courseId;
}
TeachCourse(String courseId,String evaluate){
this.courseId=courseId;
this.evaluate=courseId;
}
}
}
ps/測(cè)試數(shù)據(jù)
01,張三,男,13500043567,浙江杭州,21
02,李四,男,13099872371,浙江溫州,21
03,王五,男,13790972431,浙江金華,21
04,趙六,女,13190345445,浙江臺(tái)州,21
05,孫七,女,13943298712,浙江湖州,21
001,Java編程,6
002,網(wǎng)頁(yè)設(shè)計(jì),3.5
003,AppInventor,2
01,李老師,男,13500043567,講師,39
02,楊老師,女,13099872371,講師,38
03,高老師,女,13790972431,副教授,39
04,趙老師,男,13190345445,副教授,56
05,孫老師,女,13943298712,教授,47
到此這篇關(guān)于Java 實(shí)現(xiàn)簡(jiǎn)易教務(wù)管理系統(tǒng)的代碼的文章就介紹到這了,更多相關(guān)Java教務(wù)管理系統(tǒng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java人機(jī)猜拳實(shí)現(xiàn)的思路及方法實(shí)例
這篇文章主要給大家介紹了關(guān)于Java人機(jī)猜拳實(shí)現(xiàn)的思路及方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
詳解SpringBoot 應(yīng)用如何提高服務(wù)吞吐量
這篇文章主要介紹了Spring Boot 應(yīng)用如何提高服務(wù)吞吐量,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
Mybatis傳參為逗號(hào)分隔的字符串情形進(jìn)行in條件查詢方式
這篇文章主要介紹了Mybatis傳參為逗號(hào)分隔的字符串情形進(jìn)行in條件查詢方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01
淺談mybatis中SQL語(yǔ)句給boolean類型賦值問(wèn)題
這篇文章主要介紹了淺談mybatis中SQL語(yǔ)句給boolean類型賦值問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-11-11
Easyui的combobox實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)級(jí)聯(lián)效果
這篇文章主要介紹了Easyui的combobox實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)級(jí)聯(lián)效果的相關(guān)資料,感興趣的小伙伴們可以參考一下2016-06-06
Spring?Boot?集成Redisson實(shí)現(xiàn)分布式鎖詳細(xì)案例
這篇文章主要介紹了Spring?Boot?集成Redisson實(shí)現(xiàn)分布式鎖詳細(xì)案例,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-08-08
java中生成任意之間數(shù)的隨機(jī)數(shù)詳解
這篇文章主要介紹了java中生成任意之間數(shù)的隨機(jī)數(shù)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09

