- 本程序主要分爲三部分,數據層,控制層和顯示層
- 程序中需要用到的東西:數組,Scanner類,java中的多態等等
- 程序包括6個java文件,Clinte,Course,Dao,Menu,Person,Student,Teacher
- Clinte是情景類,Course是課程類,Dao是數據庫,用於保存數據,Menu是控制顯示類,Student是學生類,Teacher是教師類
package com.pf.student2;
import java.util.Scanner;
public class Clinte {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Teacher teacher=new Teacher();
Student student=new Student();
Dao dao=new Dao();
Menu menu=new Menu();
while (true) {
System.out.println("-------------------------------------------");
System.out.println(" 歡迎來到學生管理系統");
System.out.println("請選擇角色:");
System.out.println("1、老師");
System.out.println("2、學生");
System.out.println("3、退出");
switch (scanner.nextInt()) {
case 1:
teacher.addDao(dao);
menu.menu(teacher);
break;
case 2:
student.addDao(dao);
menu.menu(student);
break;
case 3:
return;
default:
System.out.println("輸入菜單錯誤!,請重新輸入菜單號。");
break;
}
}
}
}
package com.pf.student2;
public class Course {
public String name;
public int id;
public int time;
public Course(String name, int id, int time) {
super();
this.name = name;
this.id = id;
this.time = time;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getTime() {
return time;
}
public void setTime(int time) {
this.time = time;
}
}
package com.pf.student2;
public class Dao {
public Course storeCourse[]=new Course[100];
public Course studentCourse[]=new Course[10];
public int courseNumber=0;
public int storeNumber=0;
}
package com.pf.student2;
public class Menu {
public Person person;
public void menu(Person person){
person.menu();
}
}
package com.pf.student2;
public class Person {
public void add(Course course){
System.out.println("person的add方法");
}
public void delect(){
System.out.println("person的delect方法");
}
public void query(){
System.out.println("person的query方法");
}
public void menu(){
System.out.println("person菜單");
}
public void addDao(Dao dao){
}
}
package com.pf.student2
import java.util.Scanner
public class Student extends Person {
Scanner scanner = new Scanner(System.in)
Dao dao
@Override
public void add(Course course) {
System.out.println("student的add方法")
}
@Override
public void delect() {
System.out.println("student的delect方法")
}
@Override
public void query() {
if (dao.storeNumber != 0) {
System.out.println("-------------------------------------------")
System.out.println("課程編號\t\t課程名稱\t\t課程課時")
for (int i = 0
System.out.print(dao.storeCourse[i].getId() + "\t\t")
System.out.print(dao.storeCourse[i].getName() + "\t\t")
System.out.print(dao.storeCourse[i].getTime() + "\t\t")
System.out.println()
}
}else{
System.out.println("-------------------------------------------")
System.out.println("數據爲空!")
}
}
public void queryPerson(){
if (dao.courseNumber != 0) {
System.out.println("-------------------------------------------")
System.out.println("課程編號\t\t課程名稱\t\t課程課時")
for (int i = 0
System.out.print(dao.studentCourse[i].getId() + "\t\t")
System.out.print(dao.studentCourse[i].getName() + "\t\t")
System.out.print(dao.studentCourse[i].getTime() + "\t\t")
System.out.println()
}
}else{
System.out.println("-------------------------------------------")
System.out.println("數據爲空!")
}
}
@Override
public void menu() {
while (true) {
System.out.println("-------------------------------------------")
System.out.println("你選擇的是老師的角色 請選擇菜單:")
System.out.println("1、查詢所有課程")
System.out.println("2、選擇相應課程")
System.out.println("3、我的選課")
System.out.println("4、退出角色")
switch (scanner.nextInt()) {
case 1:
query()
break
case 2:
query()
System.out.println("請輸入相應課程的編號:")
int id=scanner.nextInt()
for(int i=0
if(dao.storeCourse[i].getId()==id){
dao.studentCourse[dao.courseNumber]=dao.storeCourse[i]
dao.courseNumber++
System.out.println("選課成功!")
break
}
}
break
case 3:
queryPerson()
break
case 4:
return
default:
System.out.println("輸入菜單錯誤!,請重新輸入菜單號。")
break
}
}
}
// 添加書庫
@Override
public void addDao(Dao dao) {
this.dao = dao
}
}
package com.pf.student2;
import java.util.Scanner;
public class Teacher extends Person {
Scanner scanner = new Scanner(System.in);
Dao dao;
@Override
public void add(Course course) {
dao.storeCourse[dao.storeNumber] = course;
dao.storeNumber++;
}
@Override
public void delect() {
query();
System.out.println("請輸入課程的編號:");
int id=scanner.nextInt();
int index=0;
for(int i=0;i<dao.storeNumber;i++){
if(dao.storeCourse[i].getId()==id){
index=i;
for(int j=index+1;j<dao.storeNumber;j++){
dao.storeCourse[j-1]=dao.storeCourse[j];
}
dao.storeNumber--;
break;
}
}
}
@Override
public void query() {
if (dao.storeNumber != 0) {
System.out.println("-------------------------------------------");
System.out.println("課程編號\t\t課程名稱\t\t課程課時");
for (int i = 0; i < dao.storeNumber; i++) {
System.out.print(dao.storeCourse[i].getId() + "\t\t");
System.out.print(dao.storeCourse[i].getName() + "\t\t");
System.out.print(dao.storeCourse[i].getTime() + "\t\t");
System.out.println();
}
}else{
System.out.println("-------------------------------------------");
System.out.println("數據爲空!");
}
}
@Override
public void menu() {
while (true) {
System.out.println("-------------------------------------------");
System.out.println("你選擇的老師的角色 選擇菜單:");
System.out.println("1、添加課程");
System.out.println("2、查詢所有課程");
System.out.println("3、刪除課程");
System.out.println("4、退出角色");
switch (scanner.nextInt()) {
case 1:
System.out.println("請輸入課程名稱:");
String name = scanner.next();
System.out.println("請輸入課程的課時:");
int time = scanner.nextInt();
Course course = new Course(name, dao.storeNumber + 1, time);
add(course);
System.out.println("課程添加完畢");
break;
case 2:
query();
break;
case 3:
delect();
System.out.println("課程刪除完畢");
break;
case 4:
return;
default:
System.out.println("輸入菜單錯誤!,請重新輸入菜單號。");
break;
}
}
}
@Override
public void addDao(Dao dao) {
this.dao = dao;
}
}