實驗要求:(http://www.javashuo.com/article/p-mvfktgks-hz.html)html
統計該文本全部單詞數量及詞頻數,並能將單詞及詞頻數按字典順序輸出到文件result.txt。java
1.顯示單詞詞頻(因我的能力問題再沒有作柱狀圖)
2.輸出前K個高頻詞
3.向result.txt寫入單詞和詞頻
git
Scanner input = new Scanner(System.in); int i=input.nextInt(); switch(i){ case 1: //提示用戶輸入單詞,並提示用什麼符號隔開 System.out.printf("請輸入你要查找的單詞,並用';'隔開"); String str= input.next(); Tongji tj=new Tongji(); a=tj.oneword(map,str); //經過方法調用來實現單個單詞的頻率 break; //用break中斷循環,不然一直執行,直到最後 case 2: Scanner sc=new Scanner(System.in); System.out.println("請輸入要查看的高頻詞頻的個數:"); int k = sc.nextInt(); Tongji tj1=new Tongji(); tj1.gaopin(map, k); //經過方法調用來實現單個單詞的頻率 break; case 3: Tongji tj2=new Tongji(); tj2.out(map); //經過方法調用來存入result文件 break; } }
//存入單詞詞頻進入文件github
public void out(Map<String,Integer> map ){//傳入集合 File f=new File("result.txt"); //建立文件result.txt try{ if(!f.exists()){ f.createNewFile(); //若是文件不存在則建立文件 } FileWriter ff=new FileWriter(f.getCanonicalFile());//寫文件 for(Entry<String,Integer> entry:map.entrySet()){ ff.write(entry.getKey()+"/"+entry.getValue()+" "+"\n");//遍歷 } ff.close(); //文件流關閉 System.out.println("統計輸出完成!"); } catch(IOException e){ e.printStackTrace(); } }
以功能塊爲單位進行程序設計,實現其求解算法的方法稱爲模塊化。
在Tongji類中,用三個函數實現了模塊化。在與主函數的交互過程當中經過用戶輸入值來調用相應的功能模塊來驅動目標實現。算法
PSP2.1 | 任務內容 | 計劃共完成須要的時間(min) | 實際完成須要的時間(min) |
---|---|---|---|
Planning | 計劃 | 30 | 60 |
· Esitimate | 估計這個任務須要多少時間,並規劃大體工做步驟 | 200 | 400 |
· Development | 開發 | 240 | 300 |
· Analysis | 需求分析(包括學習新技術) | 10 | 15 |
· Design Spec | 生成設計文檔 | 20 | 15 |
· Design Review | 設計複審(和同事審覈設計文檔) | 15 | 15 |
· Coing Standard | 代碼規範(爲目前開發制定合適的規範) | 10 | 10 |
· Design | 具體設計 | 20 | 30 |
· Coding | 具體編碼 | 240 | 300 |
· Code Review | 代碼複審 | 6 | 9 |
· Test | 測試(自我測試,修改代碼,提交修改) | 25 | 33 |
· Reporting | 報告 | 10 | 15 |
· Test Report | 測試報告 | 15 | 17 |
· Size Measurement | 計算工做量 | 5 | 3 |
· Postmortem&Process Improvement Plan | 過後總結,並提出過程改進計劃 | 5 | 3 |
雖然老師上課講了作東西以前要進行需求分析,也認真作了需求分析,可是在實際實現的過程當中耗時且有不少缺點。好比長時間未使用Java,居然致使犯一些低級錯誤(在數據從鍵盤輸入後忘記用next來接收)。並且在實現過程當中老是須要藉助於外力才能夠去實現這些功能。可是一步步的也實現了功能。在開發階段用的時間比預計的多的多,仍是說明了本身的不熟悉。總之仍是要多練習,熟能生巧吧!模塊化
源碼地址函數