JavaSE綜合項目演練

光陰似箭日月如梭,你們學習已經有了一段時間了,轉眼間,從剛開始如何配置JDK已經到了如今快學完網絡編程了。學了這麼多,眼看就要進入下一個階段了,數據庫編程了,那麼在進入下個階段前,咱們來完成一個綜合性比較強的結業項目,告別JavaSE階段,學完JavaSE,你們已經對編程這塊相信已經有了一個很深的理解,可是僅僅是JavaSE仍是不夠的,咱們還須要學習更多的,更全面知識才足以在接下來的生活中過五關斬六將。爲了提升你們的編程技能和邏輯思惟。特意整理出了一份綜合性比較全面的結業項目。你們各自發揮想象力,創造力,計算力,邏輯力完成下面這道題。java

整個項目涉及到的類以下redis

抽象類 Person
   ID(id)、  用戶名(username)密碼(password)、性別(age)

管理員類 Admin (繼承Person)
    屬性有 ID(id)、  用戶名(username)、性別(age)

老師類 Teacher (繼承Person)
    老師教的課程(course)、班級(className)

學生類 Student (繼承Person)
    學生的專業(major)  、班級(className)、成績(score)



//以上類字段屬性爲基礎,如須要可自行在上面擴展

管理員帳號默認爲admin,老師賬號默認爲t1,學生默認賬號爲s1,t1和s1是默認賬號,用戶用t1和s1登陸進去的時候任何也作不了,只能選擇註冊老師或者註冊學生,(用t1或者s1登陸進去後不須要驗證密碼,直接顯示菜單,用非t1和s1賬號須要驗證密碼數據庫

項目啓動在控制檯打印以下:編程

  1. 我是管理員
  2. 我是老師
  3. 我是學生
  4. 經常使用工具

顯四三個菜單,用戶選擇對應的序號進行對應的操做和顯示子菜單。每選擇一個菜單至關於肯定了你目前的身份,須要輸入賬號和密碼進行驗證。若是都正確,則提示登陸成功,顯示子菜單。好比輸入1後,控制檯提示瀏覽器

請輸入賬號:
請輸入密碼:

用戶輸入後後臺程序進行驗證,若是成功。就進行下一步操做。安全

下面咱們來看管理員對應的操做有:(也就是輸入1,以管理員的身份進入系統):服務器

以管理員的身份進入系統,控制檯打印以下:網絡

***********************************************************
	一、查看全部學生   (注:這裏顯示全部的學生)
	二、查看全部老師   (注:這裏顯示全部的老師)
	三、分類查看
        四、添加班級
        五、添加課程
 
   //  當用戶輸入3後,3下面對應的子菜單有
        ***********************************************************
                一、按性別查看  (具體輸入值爲男或者女)
		二、按班級查看  (輸入2以後在控制檯繼續顯示,一、按班級查看老師  二、按班級查看學生)
		三、查當作績大於_分的學生(這裏輸入具體數字,輸入後把大於多少分的匹配出來)
		四、查當作績小於_分的學生(同上)
		五、查當作績等於_分的學生(同上)
		六、查看具體學生的信息(提示輸入學生的姓名和ID,防止有重名同窗)
		七、查看學生的平均成績
		八、按成績降序查看全部學生
		九、按成績升序查看全部學生
                十、查看當前老師和學生的總數
                十一、顯示成績綜合信息 (打印以下信息)
            
            //這裏針對11 打印的信息以下  (60分及格)
            學生總成績    學平生均成績  及格學生所佔百分比  未及格學生所在百分比  
                345分        80分            80%                20%
        ***********************************************************
      /*
      當用戶輸入4 添加班級 控制檯提示請輸入班級名稱,用戶輸入班級名稱後,程序保存到後臺,最好能保存到文件中,下次啓動程序直接去讀取使用,不用每次都輸入。

      當用戶輸入5 添加課程 控制檯提示請輸入課程名稱,用戶輸入課程名稱後,程序保存到後臺,最好能保存到文件中,下次啓動程序直接去讀取使用,不用每次都輸入。
  
    以上不論是添加班級仍是添加課程,程序都要判斷用戶輸入的有沒有重複的,好比第一次輸入的是計算機班,第二次若是在輸入計算機班的話就是重複的,控制檯提示當天班級已經存在,請從新輸入
     */

以老師的身份進去系統,控制檯打印以下:(注:老師只能看見他班級下面的學生,下面全部的菜單均是,好比按性別查看,也是看的他班級下面的)多線程

一、查看全部學生
	二、按性別查看學生(選擇2以後輸入男或者女進行查看)
	三、查當作績大於_分的學生(這裏輸入具體數字,輸入後把大於多少分的匹配出來)
	四、查當作績小於_分的學生(同上)
	五、查當作績等於_分的學生(同上)
	六、查看具體學生的信息(提示輸入學生的姓名和ID,防止有重名同窗)
	七、查看學生的平均成績
	八、按成績降序查看全部學生
	九、按成績升序查看全部學生
        十、顯示成績綜合信息 (這裏統計的信息和管理員端同樣,只不過是統計本班級下面的,用戶能夠選擇導出,和學生端查當作績的狀況同樣,具體看學生端這塊)
    =========================================
        十一、註冊老師賬號
    
            //當用戶選擇11的時候控制檯以下:
            請輸入您的姓名:
            請輸入您的密碼:
            請輸入您的性別:
            請輸入您的年齡:
            請選擇您的課程:   
            請選擇您的班級:   
        /*
        這裏注意,課程由管理員端添加,當用戶輸入完年齡後,系統自動列出管理員添加的課程,用戶能夠
        輸入現有的課程,程序接收到後進行判斷用戶輸入的課程名字是否存在,若是存在的話就添加成功。    
        選擇班級也同樣

        老師類裏邊有一個id,繼承自person類,系統判斷目前有多少個老師,自動生成老師總個數+1的序號設置上去

        */

        十二、修改老師信息

               //當用戶輸入12後,控制檯顯示子菜單以下:
                一、修改年齡
                二、修改性別
                三、修改密碼(若是選擇3,請提示用戶輸入原密碼)
                注:用戶的信息最好存儲到文件,避免程序啓動每次添加

以學生的身份進入系統,當用戶輸入3以後工具

以學生的身份進入系統後控制檯打印以下菜單:
    一、查看本班全部學生
    二、按性別查看本班學生(提示用戶輸入男或者女)
    三、查找本班學生(輸入學生的姓名)
    四、按課程查看(有的學生是同班不一樣課程,當輸入4的時候系統自動查詢管理員添加的全部的課程,列出來)
    五、查看所在班的老師信息(打印所在班級的老師)
        
        //用戶輸入5後打印以下信息
        老師姓名    性別  年齡  所在班級 所授課課程
        張麗麗        女    12    1班    計算機

    六、註冊/修改學生賬號
        *********************************************
        //當用戶輸入6以後,控制檯顯示以下菜單
        一、註冊學生賬號
             
            //當用戶輸入1以後,控制檯打印以下信息
             請輸入您的姓名:
             請輸入您的密碼:
             請輸入您的年齡:
             請輸入您的性別:
             請輸入您的綜合成績:
             請輸選擇您的課程:(系統自動列出管理員添加的全部課程,用戶輸入後,判斷是否是存在的)
             請選擇您的班級:(系統自動列出管理員添加的全部班級,用戶輸入後,判斷是否是存在的)
            
             //學生類裏邊有個id,繼承自Person,類的id系統自動判斷當前班級有多我的,根據人數+1生成
        二、修改學生信息
            
            //用戶輸入2的狀況下,控制檯打印如下子菜單
                一、修改年齡
                二、修改性別
                三、修改班級(系統自動列出,同上)
                四、修改課程(系統自動列出,同上)
                五、修改密碼(若是選擇5,請提示用戶輸入原密碼)
                注:用戶的信息最好存儲到文件,避免程序啓動每次添加
        三、註銷學生  (刪除學生)
        *********************************************
      七、查看本班成績狀況
        
              //當用戶輸入7之後,控制檯顯示以下:
              本班總成績    本班平均成績    及格學生所在比例    未及格學生所在比例
                345            89            70%                60%
              100~80分人數    80~60分人數    60~40分人數    40分如下人數
                6                8               8            1
              =======  導出當前結果請輸入 p ,把當前的結果保存到記事本,文件路徑爲當前的類路徑,同包下,記事本標題爲:A班學生成績.txt  ========

經常使用工具菜單

當用戶輸入4以後,進入經常使用工具菜單,(此菜單主要包含了學生對javase的理解和綜合使用)

輸入4以後,控制檯打印以下:
    一、計算質數(請輸入一個數,計算後該數之內有多少個質數,在控制檯打印來一共有多少個,分別是什麼)
    二、查看電腦信息
        //當用戶輸入2後,在控制檯打印
            當前電腦磁盤空間總共有:400G
            當前電腦內存空間總共有:8G
            當前電腦系統的版本是:xxxx
            當前電腦共有磁盤:4個,分別是 C盤、D盤、E盤、F盤
            。。。。其餘信息同窗們本身收集,越詳細越好
    三、查看目錄
        //當用戶輸入3以後,在控制檯打印出來當前目錄下面全部的文件名,好比用戶輸入的是C盤,如下是我電腦C盤的信息。
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----        2019/2/12     14:02                360安全瀏覽器下載
d-----        2019/1/10      7:50                AppData
d-----        2019/1/29     13:10                downloads
d-----        2018/9/14     19:07                DRMsoft
d-----        2018/1/19     20:06                EFI
d-----         2019/2/3     20:09                FFOutput
d-----       2018/11/26     14:37                gofile
d-----       2018/11/17     12:32                golog
d-----        2018/1/19     21:24                Intel
d-----        2019/2/12     13:42                KuGou
d-----         2019/2/3     21:20                LDSGameMaster
d-----         2018/8/1     19:52                logs
d-----         2018/6/9      8:36                lpwz
d-----        2018/10/6     10:17                MinGW
d-----        2018/1/19     21:28                NVIDIA
d-----        2018/4/12      7:38                PerfLogs
d-r---        2019/4/13     14:14                Program Files
d-r---         2019/4/9     16:25                Program Files (x86)
d-----        2019/1/18     18:05                QMLogEx
d-----         2019/2/1     21:24                temp
d-----       2018/12/16     20:03                tourism
d-r---        2018/10/3     18:04                Users
d-----        2019/4/19     21:45                Windows
d-----        2018/2/11     22:43                Windows10Upgrade
-a----        2019/4/11      9:03       24568651 aow_drv.log
-a----        2007/11/7      8:00          17734 eula.1028.txt
-a----        2007/11/7      8:00          17734 eula.1031.txt
-a----        2007/11/7      8:00           5686 vcredist.bmp
-a----        2007/11/7      8:09        1442522 VC_RED.cab
-a----        2007/11/7      8:12         232960 VC_RED.MSI

   四、壓縮文件
        
        //當用戶輸入4的時候,提示用戶輸入文件路徑,用戶把文件路徑輸入後判斷這個路徑是否是目錄,若是是目錄的話壓縮這個目錄裏邊全部的文件,若是是文件,壓縮單獨一個文件,壓縮後的文件放在原目錄同級目錄下

   五、播放音樂
    
        //當用戶輸入5的時候,系統按照序號把電腦的的上的mp3檢索出來,顯示前10個,用戶輸入對應的序號後播放對應的,這裏啓用多線程進行播放,用戶輸入2後,開啓一個線程去播放序號爲2的音樂,用戶輸入3後,結束原來播放2的線程,從新開啓一個線程去播放序號爲3的音樂

   六、Socket通訊相關(選作題)
        
        //當用戶輸入6的時候,控制檯顯示菜單以下:
        一、開啓一個服務端
        二、給服務端發送一個消息,服務器接收到後原樣返回
   七、從網上下載一個首歌
    
        //當用戶輸入7後,控制檯提示用戶輸入一個有效的mp3網址,用戶輸入後程序去把這個mp3下載下來放到同包目錄下面,下載完成後提示下載完成,是否播放,選是進行播放

    八、讀取文件顯示到控制檯
    
        //當用戶輸入8以後,程序要求輸入一個txt文本的路徑,判斷路徑是否是存在的,若是存在,就把內容讀出來打印到控制檯,若是不存在,提示不存在,請從新輸入。

    九、經常使用效驗

        //當用戶輸入9以後,控制檯顯示子菜單爲:
        一、效驗電話號碼
        二、效驗郵箱
        三、效驗密碼強度
        四、效驗是否爲字母
        五、效驗是否爲數字
        六、效驗是否爲中文

    十、打開文件

        //當用戶輸入10以後,在控制檯輸入一個路徑,系統檢測路徑是否存在有效,若是有效,調用bat命令打開文件。

 

以上爲JavaSE階段結業綜合項目。項目爲初始版本。

幾點要求

  • 以上控制檯所顯示的子菜單後面都加一個n1和nn的選項,n1退回上一級,nn退回到頂層
  • 全部在控制檯輸入的數據都要進行效驗,好比說成績,若是輸入的是a12,或者,,,之類的,控制檯提示,您輸入的數據類型錯誤,應該輸入整型的,例如 24,98等
  • 保證程序的健壯性,用戶不管怎麼玩,程序進程都不會退出,除非是手動退出
  • 以上項目都是比較基礎的,可是邏輯能力稍強,完成的代碼量稍大,因此一步一步來,不要急於求成
  • 對可用性強的代碼進行單獨封裝,屢次調用的原則
  • 針對以上項目具體的實現思路學員本身完成,思路想好後先把實現思路發給老師,老師看看是否可行。
  • 在完成的過程當中要求每一個方法和每行代碼都有相關的註釋
  • 控制檯打印相關信息佈局要求美觀,簡單,一目瞭然。
  • 儘量用已經學到的知識點去實現和編碼,活學活用

以上就是整個項目的流程,此項目並不難,可是邏輯稍微有點繞,可是我相信你們只要願意思考,對大家來講都不是問題,問題是大家不去思考。天行健,君子以自強不息。

有問題能夠在下面留言,技術問題能夠私聊我。

相關文章
相關標籤/搜索