資源簡介
java實現的一個接收從命令行讀入一段英文文本,統計總次數,統計詞頻的程序,統計結果以txt文件格式保存,使用了正則表達式,個人感覺不錯!

代碼片段和文件信息
import?java.io.BufferedReader;
import?java.io.IOException;
import?java.io.InputStreamReader;
import?java.util.ArrayList;
import?java.util.Collections;
import?java.util.HashMap;
import?java.util.List;
import?java.util.StringTokenizer;
public?class?Item?implements?Comparable{
????????private?String?word;?//用于存儲單詞
????????private?int????frequence;??//map表中單詞序列
????????private?int?count;?//統計單詞總數
????????public?String?getWord(){??//返回輸入字符
????????????return?word;
????????}
????????
????????public?int?getFreq(){???//得到序列
????????????return?frequence;
????????}
????????
????????public?void?setWord(String?s){??//設置字符
????????????word?=?s;
????????}
????????
????????public?void?setFreq(int?n){??//設置序列
????????????frequence?=?n;
????????}
????????
????????public?int?compareTo(object?b){???//字符比較方法
????????????Item?t?=?(Item)b;
????????????return?t.getFreq()-this.getFreq();
????????}
????public?HashMap?map?=?new?HashMap();
????/**
?????*?單詞統計方法,更新map表中的鍵值對
?????*?*/
????public?void??Count(String?txt){
????????StringTokenizer?t?=?new?StringTokenizer(txt“.?“);
????????while(t.hasMoreTokens()){
????????????String?word?=?t.nextToken();
????????????
????????????if(map.get(word)==null){
???????????? count++;
????????????????Item?item?=?new?Item();
????????????????item.setFreq(1);
????????????????item.setWord(word);
????????????????map.put(worditem);
????????????}else{
???????????? count++;
????????????????Item?item?=?map.get(word);
????????????????item.setFreq(item.getFreq()+1);
????????????????map.put(worditem);
????????????}
????????}
????????/**
?????????*?遍歷map表,進行統計情況的輸出
?????????*?*/
????????List- ?list?=?new?ArrayList
- (map.values());
????????Collections.sort(list);
????????System.out.println(“該段文本共包含單詞“+count+“個“);
????????System.out.println(“該段文本的單詞統計結果如下?:“);
????????for(Item?item?:?list){
????????????System.out.println(item.getWord()?+?“?“?+?item.getFreq());
????????}
????}
????/**
?????*?主程序啟動
?????*?*/
????public?static?void?main(String[]?args)?throws?IOException{
????????System.out.println(“請輸入英文文本:“+“\n“);
????????
???? InputStreamReader?in=new?InputStreamReader(System.in?);//接收用戶命令行輸入
????????BufferedReader?output=new?BufferedReader(in);
????//????StringBuffer?sbuf?=new?StringBuffer();
????????String?br=output.readLine();
// s1=sbuf.toString();
????????Item?a?=?new?Item();
????????a.Count(br);
????}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????301??2011-10-10?22:44??Input\.classpath
?????文件????????381??2011-10-10?22:44??Input\.project
?????文件????????629??2011-10-10?22:44??Input\.settings\org.eclipse.jdt.core.prefs
?????文件???????3436??2011-10-12?08:04??Input\bin\Item.class
?????文件???????2579??2011-10-11?10:18??Input\src\Item.java
?????目錄??????????0??2011-11-06?09:04??Input\.settings
?????目錄??????????0??2011-11-06?09:04??Input\bin
?????目錄??????????0??2011-11-06?09:04??Input\src
?????目錄??????????0??2011-11-06?09:04??Input
-----------?---------??----------?-----??----
?????????????????7326????????????????????9
- 上一篇:JAVA網絡五子棋畢業設計含源代碼
- 下一篇:Java面向對象程序設計第3版-源代碼
評論
共有 條評論