1. 程式人生 > >利用面向物件實現簡單的控制檯課程管理系統

利用面向物件實現簡單的控制檯課程管理系統

  1. 本程式主要分為三部分,資料層,控制層和顯示層
  2. 程式中需要用到的東西:陣列,Scanner類,java中的多型等等
  3. 程式包括6個java檔案,Clinte,Course,Dao,Menu,Person,Student,Teacher
  4. 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; 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("資料為空!");
        }
    }

    public void queryPerson(){
        if (dao.courseNumber != 0) {
            System.out.println("-------------------------------------------");
            System.out.println("課程編號\t\t課程名稱\t\t課程課時");
            for (int i = 0; i < dao.courseNumber; i++) {
                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;i<dao.storeNumber;i++){
                    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;
    }
}

這裡寫圖片描述