[發(fā)明專利]一種簡(jiǎn)易早操數(shù)據(jù)統(tǒng)計(jì)系統(tǒng)有效
| 申請(qǐng)?zhí)枺?/td> | 201710612513.1 | 申請(qǐng)日: | 2017-07-25 |
| 公開(公告)號(hào): | CN107368320B | 公開(公告)日: | 2020-06-26 |
| 發(fā)明(設(shè)計(jì))人: | 戈俊;謝揚(yáng);金潤(rùn)宇;王莉莉 | 申請(qǐng)(專利權(quán))人: | 南京林業(yè)大學(xué) |
| 主分類號(hào): | G06F8/20 | 分類號(hào): | G06F8/20;G06F8/41;G06F8/73;G06F16/21 |
| 代理公司: | 北京市領(lǐng)專知識(shí)產(chǎn)權(quán)代理有限公司 11590 | 代理人: | 林輝輪 |
| 地址: | 210037 江*** | 國(guó)省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 簡(jiǎn)易 早操 數(shù)據(jù) 統(tǒng)計(jì) 系統(tǒng) | ||
1.一種簡(jiǎn)易早操數(shù)據(jù)統(tǒng)計(jì)系統(tǒng),其特征在于按照以下步驟進(jìn)行:
步驟1、系統(tǒng)加載MESS.class文件,將該系統(tǒng)所需執(zhí)行的所有類文件加載進(jìn)內(nèi)存;
步驟2、主線程從測(cè)試類的主方法作為入口進(jìn)入,創(chuàng)建MorningExerciseTest對(duì)象,并調(diào)用早操操作測(cè)試方法morningExerciseOperationTest;
步驟3、通過this引用調(diào)用持久化存儲(chǔ)文件是否存在方法fileIsExists,在早操測(cè)試類中封裝的私有文件字段來接收;
步驟3.1該方法中通過File對(duì)象封裝持久化存儲(chǔ)文件路徑;
步驟3.2創(chuàng)建一個(gè)TreeMap集合,由于集合中存儲(chǔ)的都是對(duì)象,所以泛型定義為學(xué)生對(duì)象和基本數(shù)據(jù)類型對(duì)象包裝類Student,Integer,通過早操測(cè)試類中封裝的私有字段MapStudent,Integermap來接收;
步驟3.3判斷3.1中文件對(duì)象是否存在,如果不存在直接通過文件對(duì)象調(diào)用createNewFile方法,創(chuàng)建該文件對(duì)象,保證文件對(duì)象一定存在;新建ObjectOutputStream將3.2中創(chuàng)建的TreeMap集合,通過寫入對(duì)象方法writeObject將集合進(jìn)行序列化存儲(chǔ),并及時(shí)關(guān)閉對(duì)象輸出流;
步驟3.4返回被創(chuàng)建存儲(chǔ)了集合的File對(duì)象;
步驟4、通過this引用調(diào)用早操數(shù)據(jù)讀取持久化存儲(chǔ)方法將3.4中返回的File對(duì)象作為參數(shù)進(jìn)行傳遞,再通過全局變量字段map進(jìn)行接收;
步驟4.1該方法中通過建立對(duì)象讀取流ObjectInputStream和參數(shù)傳遞中的File對(duì)象進(jìn)行關(guān)聯(lián);
步驟4.2將持久化存儲(chǔ)在本地File中的數(shù)據(jù)通過讀取對(duì)象方法readObject讀取進(jìn)內(nèi)存;
步驟4.3由于該方法讀取對(duì)象返回的是Object類型,而我們?cè)趯?duì)象序列化中存儲(chǔ)的是Map集合,所以需要進(jìn)行強(qiáng)制類型轉(zhuǎn)換,這也是ObjectInputStream反序列化的過程,釋放資源關(guān)閉流對(duì)象;
步驟4.4返回強(qiáng)制類型轉(zhuǎn)換后的map集合對(duì)象;
步驟5、通過this引用調(diào)用早操統(tǒng)計(jì)方法morningExerciseStatistics,將4.4中返回的map集合對(duì)象作為參數(shù)進(jìn)行傳遞,再通過全局變量字段map進(jìn)行接收;
步驟5.1通過讀卡器讀取學(xué)生校園卡中的個(gè)人信息數(shù)據(jù),將學(xué)生的信息如:姓名、性別、學(xué)號(hào)、所在院系、所屬教師、課程項(xiàng)目、課程時(shí)間,進(jìn)行學(xué)生對(duì)象的封裝;步驟5.2將每一個(gè)學(xué)生對(duì)象作為鍵,通過Map集合的get方法進(jìn)行值的獲取;由于Map集合中存儲(chǔ)的只能是對(duì)象,所以通過基本數(shù)據(jù)類型對(duì)象包裝類的Integer對(duì)象來接收get方法返回的值;
步驟5.3通過定義變量count賦值為0,來記錄住每一個(gè)學(xué)生刷卡的次數(shù);
步驟5.4判斷如果5.2中返回的值不為空,那么說明該學(xué)生對(duì)象在Map集合中已經(jīng)存在并有相對(duì)應(yīng)值的體現(xiàn),將值取出并賦值給變量count;
步驟5.5學(xué)生對(duì)象每一次刷卡,都將通過變量count自增一次來體現(xiàn),如果該學(xué)生對(duì)象在Map集合中存在那么將對(duì)應(yīng)值取出自增一次,再將該學(xué)生對(duì)象和自增后的值存入Map集合,如果學(xué)生對(duì)象在集合中不存在,那么直接將學(xué)生對(duì)象和count+1的值存入Map集合;
步驟5.6在學(xué)生每一次刷卡時(shí),通過GUI圖形化界面展示學(xué)生目前出操次數(shù),并且在達(dá)到基本合格次數(shù)時(shí),給出提示;
步驟5.7由于學(xué)生人數(shù)不確定,所以使用循環(huán)來完成刷卡和讀卡的任務(wù),結(jié)束循環(huán)以后,返回存儲(chǔ)了新的學(xué)生信息的Map集合;
步驟6、通過this引用調(diào)用本類的早操數(shù)據(jù)寫入本地持久化的方法,同時(shí)將被封裝的File對(duì)象和5.7中返回的存有更新過學(xué)生早操信息鍵值對(duì)的Map集合作為參數(shù)進(jìn)行傳遞;
步驟6.1封裝對(duì)象輸出流,使其與File對(duì)象封裝的本地文件相關(guān)聯(lián);
步驟6.2Map集合通過實(shí)現(xiàn)Serializable接口以啟用其序列化功能,通過對(duì)象輸出流的寫入對(duì)象方法writeObject將存儲(chǔ)有學(xué)生早操信息的Map集合寫入本地文件,進(jìn)行持久化存儲(chǔ);
步驟6.3釋放資源,關(guān)閉流對(duì)象;
步驟7、多線程技術(shù):主線程通過匿名內(nèi)部類形式創(chuàng)建一條新的線程,進(jìn)行手動(dòng)的學(xué)生數(shù)據(jù)的增刪改查,以保證在不斷錄入學(xué)生信息的同時(shí)進(jìn)行部分問題學(xué)生信息的增刪改查;
步驟8、通過this引用調(diào)用遍歷集合中數(shù)據(jù)的方法,導(dǎo)出指定教師的學(xué)生早操信息,將存儲(chǔ)學(xué)生早操信息的Map集合和指定教師姓名作為參數(shù)進(jìn)行傳遞,如果沒有指定教師姓名則導(dǎo)出所有學(xué)生早操數(shù)據(jù)信息;
步驟8.1封裝導(dǎo)出文件存儲(chǔ)的位置成File對(duì)象;
步驟8.2通過字符流緩沖區(qū)包裝字符輸出流關(guān)聯(lián)8.1中的File對(duì)象,達(dá)到高效寫出的目的;
步驟8.3通過循環(huán)反復(fù)讀寫,獲取Map集合中的每一個(gè)鍵,通過字符串的equals方法匹配通過參數(shù)傳遞進(jìn)來的教師姓名,將對(duì)應(yīng)的學(xué)生對(duì)象鍵的字符串表現(xiàn)形式和值寫入本地文件中,已達(dá)到持久化存儲(chǔ),隨時(shí)查閱的效果,如果沒有教師姓名的參數(shù)傳遞,那么將導(dǎo)出所有學(xué)生信息和對(duì)應(yīng)早操次數(shù)的值。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于南京林業(yè)大學(xué),未經(jīng)南京林業(yè)大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710612513.1/1.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 邊坡錘擊施工中的管樁防護(hù)結(jié)構(gòu)
- 一種省電方法、裝置及終端
- 一種實(shí)用雙向鉆孔機(jī)床
- 一種海洋平臺(tái)安全防護(hù)裝置
- 一種基于K-means聚類多權(quán)重自適應(yīng)的學(xué)生學(xué)習(xí)行為分析方法
- 控件測(cè)試方法和裝置
- 一種基于RFID射頻技術(shù)的大學(xué)生早操自動(dòng)點(diǎn)名系統(tǒng)
- 一種簡(jiǎn)易早操數(shù)據(jù)統(tǒng)計(jì)系統(tǒng)
- 一種物聯(lián)網(wǎng)腰帶扣
- 一種用于大學(xué)生早操基層體育鍛煉設(shè)備
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 統(tǒng)計(jì)系統(tǒng)、統(tǒng)計(jì)裝置和統(tǒng)計(jì)方法
- 人數(shù)統(tǒng)計(jì)方法和人數(shù)統(tǒng)計(jì)系統(tǒng)
- 統(tǒng)計(jì)物體數(shù)量的統(tǒng)計(jì)系統(tǒng)
- 網(wǎng)絡(luò)處理器的統(tǒng)計(jì)計(jì)數(shù)方法
- 統(tǒng)計(jì)信息上報(bào)方法及裝置
- 稿件統(tǒng)計(jì)方法和稿件統(tǒng)計(jì)系統(tǒng)
- 數(shù)據(jù)統(tǒng)計(jì)方法及裝置
- 獲取數(shù)據(jù)的統(tǒng)計(jì)狀態(tài)的方法及裝置
- 信息統(tǒng)計(jì)方法和信息統(tǒng)計(jì)裝置
- 電量統(tǒng)計(jì)系統(tǒng)及電量統(tǒng)計(jì)方法





