201671010402 詞頻統計軟件項目報告

需求分析

  • 可使用Java編程語言,獨立完成一個英文文本詞頻統計的軟件開發。
  • 程序可讀入任意英文文本文件,該文件中英文詞數大於等於1個。
  • 程序須要很壯健,能讀取容納英文原版《哈利波特》10萬詞以上的文章。

測試環境

  • 這次項目的測試機爲Windows環境。
  • 使用的JDK版本爲 jdk8u161。
  • 使用的JRE版本爲jre8u161。

基本功能需求

  • 用戶可輸入從該文本中想要查找詞頻的一個或任意多個英文單詞,運行程序的統計功能可顯示對應單詞在文本中出現的次數。
  • 統計該文本全部單詞數量及詞頻數,並能將單詞及詞頻數按字典順序輸出到文件result.txt。
  • 本次項目必須包含src文件夾,在src文件夾中必須包含名爲Main.java文件,且Main.java中包含 public static void main(String[] args) 方法。
  • 生成的文件使用的是相對路徑,生成的 result.txt 文件在項目的根目錄下。

設計實現

在整個項目設計中,Map類是以按鍵/數值對的形式存儲數據,即單詞所出現的次數;BufferedReader類的做用是在讀取文件時,讓單詞從文件中讀入字符數據並置入緩衝區;SortMap函數用於實現數組的排序,文件的輸出,搜索單詞的錄入,搜索結果的打印等。

測試運行

測試結果如圖所示

  • 單詞詞頻數


  • 將結果返回到result.txt 文件中

代碼展現

  • 讀取一個英文文本,並過濾出只含有字母的文本,且去除長度爲0的行

  • 單詞的詞數統計並按值進行排序

  • 將統計的結果返回到result.txt文件中

總結

本人之前沒有接觸過Java項目的設計與實現,因此此次經過作這個Java項目,我才真正進行了實踐,在這個期間,我也經過自主查詢資料及上網查詢視頻教程對Java這個編程語言及它的編程環境有了一些初步的認識及瞭解。在整個項目實現的過程當中,代碼這一塊是最耗時的,也是經過請教身邊的學長學姐和一些朋友纔將這個項目完成,對我來講也算是比較困難,歸集緣由仍是由於編程功底太薄弱了,經過此次實驗,我想我應該好好學習編程語言,虛心向他人請教,爭取愈來愈好。

展現PSP

任務內容 計劃共完成須要的時間(min) 實際完成所須要的時間(min)
計劃 15 10
估計這個任務須要多少時間,並規劃大體工做步驟 20 10
開發 300 600
需求分析(包括學習新技術) 120 240
生成設計文檔 40 60
設計複審(審覈設計文檔) 20 30
代碼規範(爲目前的開發制定合適的規範) 10 15
具體設計 30 50
具體編碼 200 600
代碼複審 20 40
測試(自我測試,修改代碼,提交修改) 40 70
報告 40 50
測試報告 20 30
計算工做量 10 15
過後總結,並提出過程改進計劃 30 50

源代碼連接地址爲:https://github.com/chenjingjinglove/Chenjing

相關文章
相關標籤/搜索