程序可讀入任意英文文本文件,該文件中英文詞數大於等於1個。java
程序須要很壯健,能讀取容納英文原版《哈利波特》10萬詞以上的文章。git
指定單詞詞頻統計功能:用戶可輸入從該文本中想要查找詞頻的一個或任意多個英文單詞,運行程序的統計功能可顯示對應單詞在文本中出現的次數和柱狀圖。github
高頻詞統計功能:用戶從鍵盤輸入高頻詞輸出的個數k,運行程序統計功能,可按文本中詞頻數降序顯示前k個單詞的詞頻及單詞。編程
統計該文本全部單詞數量及詞頻數,並能將單詞及詞頻數按字典順序輸出到文件result.txt。學習
文件讀入功能
指定單詞統計功能
顯示指定單詞統計的柱狀圖功能
全部單詞數量及詞頻數統計,將結果輸入到result.txt的功能
測試
經過map集合、treemap、調用類方法、輸入輸出等方法實現對指定單詞的統計功能。編碼
System.out.println("請輸入你要查找的單詞,用逗號隔開"); String s1=sc.next(); //調用類方法 fengzhuang f1=new fengzhuang(); str=f1.one(map, s1);//s1查指定單詞 map查全部的單詞 Main s3=new Main(); s3.setVisible(true);
public String[] one(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; } } } return s2;
在程序設計中,將整個程序按不一樣的功能劃分爲不一樣的模塊,並在這些模塊之間創建必要的聯繫,共同完成程序所要實現的功能。但因爲實力不足,高頻詞統計功能未能實現,之後要增強代碼的練習,提升編程的能力。設計
PSP2.1 | 任務內容 | 計劃共完成須要的時間(min) | 實際完成須要的時間(min) |
Planning | 計劃 | 15 | 15 |
· Estimate | · 估計這個任務須要多少時間,並規劃大體工做步驟 | 15 | 15 |
Development | 開發 | 146 | 218 |
·· Analysis | 需求分析 (包括學習新技術) | 25 | 35 |
· Design Spec | · 生成設計文檔 | 25 | 35 |
· Design Review | · 設計複審 | 10 | 15 |
· Coding Standard | 代碼規範 | 10 | 10 |
· Design | 具體設計 | 30 | 50 |
· Coding | 具體編碼 | 120 | 240 |
· Code Review | · 代碼複審 | 15 | 20 |
· Test | · 測試(自我測試,修改代碼,提交修改) | 30 | 50 |
Reporting | 報告 | 25 | 30 |
·· Test Report | · 測試報告 | 30 | 40 |
· Size Measurement | 計算工做量 | 10 | 10 |
· Postmortem & Process Improvement Plan | · 過後總結 ,並提出過程改進計劃 | 15 | 20 |
從PSP表中能夠看出每一個階段的計劃完成時間和實際完成時間仍是有必定的差距的,因爲對於Java語言的掌握不夠好,致使此次做業剛開始作的時候思路不清晰,編碼過程比較困難,但經過查閱資料和尋求同窗的幫助,基本完成了此次做業。經過此次做業,我意識到本身對Java語言掌握的並不熟練,有一些方法也不懂,之後要增強本身的編程能力,提升本身對Java語言的掌握度,爭取寫出更好的程序。代碼規範
源代碼地址:https://github.com/sunmiaokum/countcode