1.程序可讀入任意英文文本文件,該文件中英文詞數大於等於1個。html
2.程序須要很壯健,能讀取容納英文原版《哈利波特》10萬詞以上的文章。java
3.指定單詞詞頻統計功能:用戶可輸入從該文本中想要查找詞頻的一個或任意多個英文單詞,運行程序的統計功能可顯示對應單詞在文本中出現的次數和柱狀圖。git
4.高頻詞統計功能:用戶從鍵盤輸入高頻詞輸出的個數k,運行程序統計功能,可按文本中詞頻數降序顯示前k個單詞的詞頻及單詞。github
5.統計該文本全部單詞數量及詞頻數,並能將單詞及詞頻數按字典順序輸出到文件result.txt編程
- 可讀文本文件功能 - 能統計全部單詞基本功能 - 能指定單詞詞頻功能 - 能顯示出指定單詞的柱狀圖功能
運用了兩個類,其中一個類是基本的功能,主要是採用了map集合的方法,先一步的把全部的鍵值均可以羅列出來。以後只須要獲取map中的鍵值,在此基礎上,逐一實現其他基本功能。第二個類是調用的方法,而後在類一里面調用方法就好啦。編程語言
測試功能一:
學習
測試功能三:
測試
將結果存放在result中:
編碼
if(s==1) { //1.指定單詞詞頻統計功能 System.out.println("請輸入你要查找的單詞,用逗號隔開"); String s1=sc.next(); //調用類的方法 cipin2 c2=new cipin2(); str=c2.a(map, s1);//S1是查指定的單詞,map是前面是已經統計好的 cipin s3=new cipin(); s3.setVisible(true); }
功能一較爲滿意的緣由是用到調用類的方法,並且用到的集合是map,將該類中須要被調用的方法設置爲靜態(static),加了static後,就能夠用類名直接調用。而後在調用類中直接經過類名進行訪問。調用格式爲:類名.方法名(參數表)。spa
//實參 else if(s==3) { //3.統計該文本全部單詞數量及詞頻數,將結果輸入到result.txt //調用類的方法2 cipin2 c2=new cipin2();//聲明一個類對象 c2.c(map); } //形參的運用 public String[] a(TreeMap<String,Integer> map,String str) { TreeMap<String,Integer> map1 = new TreeMap<String,Integer>(); String[] s2=str.split(","); for (int i = 0; i < s2.length; i++) { for(Entry<String,Integer> entry: map.entrySet()) { if(s2[i].equals(entry.getKey())){ map1.put(entry.getKey(),entry.getValue()); System.out.println(entry.getKey()+"=="+entry.getValue()); break; } }
功能三較爲滿意的是本身淺顯地理解了形參和實參。
形式參數(形參):在方法定義時用於接收外界輸入的數據。
實際參數(實參):調用方法時實際傳給方法的數據
PSP階段 | 任務內容 | 計劃共完成須要的時間(min) | 實際完成須要的時間(min) |
Planning | 計劃 | 8 | 10 |
Estimate | 估計這個任務須要多少時間,並規劃大體工做步驟 | 8 | 12 |
Development | 開發 | 82 | 265 |
Analysis | 需求分析 (包括學習新技術) | 6 | 30 |
Design Spec | 生成設計文檔 | 5 | 6 |
Design Review | 設計複審 (和同窗審覈設計文檔) | 4 | 6 |
Coding Standard | 代碼規範 (爲目前的開發制定合適的規範) | 3 | 5 |
Design | 具體設計 | 10 | 25 |
Coding | 具體編碼 | 36 | 50 |
Code Review | 代碼複審 | 7 | 10 |
Test | 測試(自我測試,修改代碼,提交修改) | 13 | 30 |
Reporting | 報告 | 9 | 15 |
Test Report | 測試報告 | 3 | 3 |
Size Measurement | 計算工做量 | 2 | 3 |
Postmortem & Process Improvement Plan | 過後總結 ,並提出過程改進計劃 | 3 | 10 |