JavaSE綜合項目演練


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

整個項目涉及到的類如下

抽象類 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,以管理員的身份進入系統):

以管理員的身份進入系統,控制台打印如下:

***********************************************************
	1、查看所有學生   (注:這里顯示所有的學生)
	2、查看所有老師   (注:這里顯示所有的老師)
	3、分類查看
        4、添加班級
        5、添加課程
 
   //  當用戶輸入3后,3下面對應的子菜單有
        ***********************************************************
                1、按性別查看  (具體輸入值為男或者女)
		2、按班級查看  (輸入2之后在控制台繼續顯示,1、按班級查看老師  2、按班級查看學生)
		3、查看成績大於_分的學生(這里輸入具體數字,輸入后把大於多少分的匹配出來)
		4、查看成績小於_分的學生(同上)
		5、查看成績等於_分的學生(同上)
		6、查看具體學生的信息(提示輸入學生的姓名和ID,防止有重名同學)
		7、查看學生的平均成績
		8、按成績降序查看所有學生
		9、按成績升序查看所有學生
                10、查看當前老師和學生的總數
                11、顯示成績綜合信息 (打印如下信息)
            
            //這里針對11 打印的信息如下  (60分及格)
            學生總成績    學生平均成績  及格學生所占百分比  未及格學生所在百分比  
                345分        80分            80%                20%
        ***********************************************************
      /*
      當用戶輸入4 添加班級 控制台提示請輸入班級名稱,用戶輸入班級名稱后,程序保存到后台,最好能保存到文件中,下次啟動程序直接去讀取使用,不用每次都輸入。

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

以老師的身份進去系統,控制台打印如下:(注:老師只能看見他班級下面的學生,下面所有的菜單均是,比如按性別查看,也是看的他班級下面的)

	1、查看所有學生
	2、按性別查看學生(選擇2之后輸入男或者女進行查看)
	3、查看成績大於_分的學生(這里輸入具體數字,輸入后把大於多少分的匹配出來)
	4、查看成績小於_分的學生(同上)
	5、查看成績等於_分的學生(同上)
	6、查看具體學生的信息(提示輸入學生的姓名和ID,防止有重名同學)
	7、查看學生的平均成績
	8、按成績降序查看所有學生
	9、按成績升序查看所有學生
        10、顯示成績綜合信息 (這里統計的信息和管理員端一樣,只不過是統計本班級下面的,用戶可以選擇導出,和學生端查看成績的情況一樣,具體看學生端這塊)
    =========================================
        11、注冊老師帳號
    
            //當用戶選擇11的時候控制台如下:
            請輸入您的姓名:
            請輸入您的密碼:
            請輸入您的性別:
            請輸入您的年齡:
            請選擇您的課程:   
            請選擇您的班級:   
        /*
        這里注意,課程由管理員端添加,當用戶輸入完年齡后,系統自動列出管理員添加的課程,用戶可以
        輸入現有的課程,程序接收到后進行判斷用戶輸入的課程名字是否存在,如果存在的話就添加成功。    
        選擇班級也一樣

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

        */

        12、修改老師信息

               //當用戶輸入12后,控制台顯示子菜單如下:
                1、修改年齡
                2、修改性別
                3、修改密碼(如果選擇3,請提示用戶輸入原密碼)
                注:用戶的信息最好存儲到文件,避免程序啟動每次添加
       

以學生的身份進入系統,當用戶輸入3之后

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

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

常用工具菜單

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

 輸入4之后,控制台打印如下:
    1、計算質數(請輸入一個數,計算后該數以內有多少個質數,在控制台打印來一共有多少個,分別是什么)
    2、查看電腦信息
        //當用戶輸入2后,在控制台打印
            當前電腦磁盤空間總共有:400G
            當前電腦內存空間總共有:8G
            當前電腦系統的版本是:xxxx
            當前電腦共有磁盤:4個,分別是 C盤、D盤、E盤、F盤
            。。。。其他信息同學們自己收集,越詳細越好
    3、查看目錄
        //當用戶輸入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、壓縮文件
        
        //當用戶輸入4的時候,提示用戶輸入文件路徑,用戶把文件路徑輸入后判斷這個路徑是不是目錄,如果是目錄的話壓縮這個目錄里邊所有的文件,如果是文件,壓縮單獨一個文件,壓縮后的文件放在原目錄同級目錄下

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

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

    8、讀取文件顯示到控制台
    
        //當用戶輸入8之后,程序要求輸入一個txt文本的路徑,判斷路徑是不是存在的,如果存在,就把內容讀出來打印到控制台,如果不存在,提示不存在,請重新輸入。

    9、常用效驗

        //當用戶輸入9之后,控制台顯示子菜單為:
        1、效驗電話號碼
        2、效驗郵箱
        3、效驗密碼強度
        4、效驗是否為字母
        5、效驗是否為數字
        6、效驗是否為中文

    10、打開文件

        //當用戶輸入10之后,在控制台輸入一個路徑,系統檢測路徑是否存在有效,如果有效,調用bat命令打開文件。

 

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

幾點要求

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

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

有問題可以在下面留言,技術問題可以私聊我。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM