您好,登錄后才能下訂單哦!
本文實例講述了Java統計英文句子中出現次數最多的單詞并計算出現次數的方法。分享給大家供大家參考,具體如下:
import java.util.*; /** * 統計出現次數最多的單詞和它出現的次數 * * @author ZHR */ public class CountWord { public static String[] strTostrArray(String str) { /* * 將非字母字符全部替換為空格字符" " 得到一個全小寫的純字母字符串包含有空格字符 */ str = str.toLowerCase();// 將字符串中的英文部分的字符全部變為小寫 String regex = "[\\W]+";// 非字母的正則表達式 --\W:表示任意一個非單詞字符 str = str.replaceAll(regex, " "); String[] strs = str.split(" "); // 以空格作為分隔符獲得字符串數組 return strs; } public static void countword(String[] strs) { /* * 建立字符串(String)出現次數(Integer)的映射 */ HashMap<String, Integer> strhash = new HashMap<String, Integer>(); Integer in = null;// 用于存放put操作的返回值 for (String s : strs) {// 遍歷數組 strs in = strhash.put(s, 1); if (in != null) {// 判斷如果返回的不是null,則+1再放進去就是出現的次數 strhash.put(s, in + 1); } } Set<java.util.Map.Entry<String, Integer>> entrySet = strhash.entrySet(); String maxStr = null;// 用于存放出現最多的單詞 int maxValue = 0;// 用于存放出現最多的次數 for (java.util.Map.Entry<String, Integer> e : entrySet) { String key = e.getKey(); Integer value = e.getValue(); if (value > maxValue) { maxValue = value;// 這里有自動拆裝箱 maxStr = key; } } System.out.println("出現最多的單詞是:" + maxStr + "出現了" + maxValue + "次"); } @SuppressWarnings("resource") public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.println("請輸入一行英文句子:"); String str = scan.nextLine(); System.out.println("輸入的英文句子為:" + str); String[] strs = strTostrArray(str); countword(strs); } }
運行結果:
PS:這里再為大家推薦2款非常方便的統計工具供大家參考使用:
在線字數統計工具:
http://tools.jb51.net/code/zishutongji
在線字符統計與編輯工具:
http://tools.jb51.net/code/char_tongji
更多關于java算法相關內容感興趣的讀者可查看本站專題:《Java數據結構與算法教程》、《Java操作DOM節點技巧總結》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設計有所幫助。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。