Java課程設計-算術運算測驗(D級)
齊魯工業大學 計科20-1 王瀚垠 202003010033
目錄
1.專案簡介
2.專案采用技術
3.功能需求分析
4.專案亮點
5.專案功能架構圖和UML類圖
6.系統演示操作視頻或者主要功能截圖
7.團隊成員負責模塊(以表格的形式)
8.專案git地址
9.團隊成員git提交記錄截圖
10.專案代碼靜態掃描通過證明
11.專案總結
正文
1.專案簡介
本專案給出一個能夠多用戶進行100以內加減法運算測驗的系統,使用者注冊一定數目用戶后,由每個用戶按號碼順序分別答題,每位用戶回答完畢后,其用戶序號和分數都會被錄入一個鏈表中,所有用戶均完成測驗后,鏈表中元素按照用戶分數升序排列,統一倒序寫入文本檔案namelist.txt中,形成排行榜,
2.專案采用技術
(1)泛型與集合框架——鏈表
(2)創建并寫入檔案
(3)GUI(包含三個監視器進行事件處理)
(4)拋出例外和例外處理
3.功能需求分析
(1)注冊用戶:輸入參與用戶數,單擊“注冊”,系統創建對應數目的用戶
(2)獲取題目/跳至下一題/跳至下一用戶:單擊“下一題”對應三種情況:
(A)處于預備界面(每個用戶在進入第一題之前的界面),單擊進入第一題
(B)1-9題提交成功,單擊進入下一題
(C)非最后一名用戶第10題提交成功,單擊進入下一用戶預備界面
(3)提交答案和錄入資訊:用戶輸入自己的答案,單擊“提交”獲取評判,每個用戶完成最后一題后,單擊“提交”查看總分,同時系統將該用戶的資訊錄入至鏈表,最后一位用戶提交最后一題后,系統將鏈表中元素按照用戶分數升序排列,統一倒序寫入文本檔案namelist.txt中,形成排行榜,
(4)生成題目:單擊“下一題”,文本區被清空,生成兩個100以內亂數,將兩個運算元按照一定次序,與相應字符組合形成算式,顯示在文本區中,
(5)評分:提交答案后,系統將用戶輸入答案與正確答案比對,判斷正誤,若正確該用戶加一分,用戶當前得分顯示在文本區中,
4.專案亮點
(1)較完善的拋出例外和例外處理
(A)注冊相關例外及處理
用戶數目必須是正整數(不是整數和正數各一個例外處理),才能完成注冊(如果輸入負的小數,優先提示必須是整數)

重新注冊后,之前的資料清零

相關代碼

(B)“提交”相關例外及處理
未注冊狀態下無法提交

未獲取題目狀態下無法提交

提交答案格式不合理報錯

不允許重復提交

相關代碼



(C)“下一題”相關例外及處理
未注冊狀態下無法獲取題目

未提交狀態下無法獲取下一題

所有用戶作答完畢時給出提示

相關代碼


(2)使用鏈表存盤資料
相關代碼截圖如下


(3)寫入檔案考慮并列排名的情況
寫入效果
寫入原理相關代碼

(5)借鑒在八次實驗課中的學到的知識,學以致用
例如鏈表中的元素所屬的People類和之前提到的鏈表相關代碼

借鑒了實驗八驗證性實驗2中相關的知識和方法


(6)參考CSDN上一篇非GUI的課程設計的原始碼的部分思想,學會了生成100以內加減法算式的方法
https://blog.csdn.net/qq_40605167/article/details/81023799?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162409842316780366542501%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=162409842316780366542501&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v29-1-81023799.pc_search_result_before_js&utm_term=%E7%AE%97%E6%9C%AF%E8%BF%90%E7%AE%97%E6%B5%8B%E8%AF%95java%E5%B1%B1%E4%B8%9C%E7%A7%91%E6%8A%80%E5%A4%A7%E5%AD%A6&spm=1018.2226.3001.4187

注:作標記的為我參考的部分
在此向原作者致謝!
5.專案功能架構圖和UML類圖
(1)專案功能架構圖

(2)UML類圖

6.系統演示操作視頻或者主要功能截圖
注冊

答題

用戶個人評分

答題結束

排行榜展示

7.團隊成員負責模塊(以表格的形式)
|
團隊成員 |
學號 |
任務分配 |
|
王瀚垠(組長兼組員) |
202003010033 |
全部模塊:布局設計、例外處理、事件處理、演算法設計等,即所有類和方法全部由我獨立完成, |
8.專案git地址
https://gitee.com/wang-hanyin/homework-of-oop-course-design
9.團隊成員git提交記錄截圖

10.專案代碼靜態掃描通過證明







11.專案總結
本次課程設計是在八次實驗中用到的知識,尤其是GUI和泛型與集合框架、檔案等知識的集大成之作,是我嘔心瀝血完成的,在設計專案中,挫折接踵而至,尤其是出現需要進行各種例外處理和非例外處理的那一部分,以及將排行榜寫入檔案的部分,涉及到許多具有挑戰性的邏輯問題,但我最終克服了它們,在對自己小小的成就沾沾自喜時,也要意識到,我的設計中存在著待改進的疏漏之處,由于個人知識、技能和時間的限制,用戶暫時跳過一道題去做下一題,然后再回傳去做上一題的功能沒有實作;多個用戶在不同的平臺上進行同步答題,資訊由一個平臺匯總的功能沒有實作;通過對用戶答題時間的記錄,對同分數的用戶再作排名的功能沒有實作;用戶自行創建用戶名和密碼,運用資料庫登錄賬號的功能沒有實作;界面設計不夠美觀等問題亟待改進,總之,經歷過本次課程設計的我依然是有所識訓,頗有成就感的,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/288118.html
標籤:Java
