Java統(tǒng)計英文句子中出現(xiàn)次數(shù)最多的單詞并計算出現(xiàn)次數(shù)的方法
本文實(shí)例講述了Java統(tǒng)計英文句子中出現(xiàn)次數(shù)最多的單詞并計算出現(xiàn)次數(shù)的方法。分享給大家供大家參考,具體如下:
import java.util.*;
/**
* 統(tǒng)計出現(xiàn)次數(shù)最多的單詞和它出現(xiàn)的次數(shù)
*
* @author ZHR
*/
public class CountWord {
public static String[] strTostrArray(String str) {
/*
* 將非字母字符全部替換為空格字符" " 得到一個全小寫的純字母字符串包含有空格字符
*/
str = str.toLowerCase();// 將字符串中的英文部分的字符全部變?yōu)樾?
String regex = "[\\W]+";// 非字母的正則表達(dá)式 --\W:表示任意一個非單詞字符
str = str.replaceAll(regex, " ");
String[] strs = str.split(" "); // 以空格作為分隔符獲得字符串?dāng)?shù)組
return strs;
}
public static void countword(String[] strs) {
/*
* 建立字符串(String)出現(xiàn)次數(shù)(Integer)的映射
*/
HashMap<String, Integer> strhash = new HashMap<String, Integer>();
Integer in = null;// 用于存放put操作的返回值
for (String s : strs) {// 遍歷數(shù)組 strs
in = strhash.put(s, 1);
if (in != null) {// 判斷如果返回的不是null,則+1再放進(jìn)去就是出現(xiàn)的次數(shù)
strhash.put(s, in + 1);
}
}
Set<java.util.Map.Entry<String, Integer>> entrySet = strhash.entrySet();
String maxStr = null;// 用于存放出現(xiàn)最多的單詞
int maxValue = 0;// 用于存放出現(xiàn)最多的次數(shù)
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("出現(xiàn)最多的單詞是:" + maxStr + "出現(xiàn)了" + 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);
}
}
運(yùn)行結(jié)果:

PS:這里再為大家推薦2款非常方便的統(tǒng)計工具供大家參考使用:
在線字?jǐn)?shù)統(tǒng)計工具:
http://tools.jb51.net/code/zishutongji
在線字符統(tǒng)計與編輯工具:
http://tools.jb51.net/code/char_tongji
更多關(guān)于java算法相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設(shè)計有所幫助。
- JAVA統(tǒng)計字符串中某個字符出現(xiàn)次數(shù)的方法實(shí)現(xiàn)
- Java案例使用集合方法實(shí)現(xiàn)統(tǒng)計任意字符串中字符出現(xiàn)的次數(shù)
- Java實(shí)現(xiàn)統(tǒng)計字符串出現(xiàn)的次數(shù)
- Java統(tǒng)計一個字符串在另外一個字符串出現(xiàn)次數(shù)的方法
- Java統(tǒng)計字符串中字符出現(xiàn)次數(shù)的方法示例
- Java編程實(shí)現(xiàn)統(tǒng)計數(shù)組中各元素出現(xiàn)次數(shù)的方法
- java統(tǒng)計字符串中重復(fù)字符出現(xiàn)次數(shù)的方法
- Java中計算集合中元素的出現(xiàn)次數(shù)統(tǒng)計
相關(guān)文章
Spring Boot2.0 @ConfigurationProperties使用詳解
這篇文章主要介紹了Spring Boot2.0 @ConfigurationProperties使用詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-11-11
Java GZip 基于內(nèi)存實(shí)現(xiàn)壓縮和解壓的方法
這篇文章主要介紹了Java GZip 基于內(nèi)存實(shí)現(xiàn)壓縮和解壓的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08
詳解Java如何使用責(zé)任鏈默認(rèn)優(yōu)雅地進(jìn)行參數(shù)校驗(yàn)
項(xiàng)目中參數(shù)校驗(yàn)十分重要,它可以保護(hù)我們應(yīng)用程序的安全性和合法性。這篇文章主要介紹了如何使用責(zé)任鏈默認(rèn)優(yōu)雅地進(jìn)行參數(shù)校驗(yàn),需要的可以參考一下2023-03-03
Java中常用緩存Cache機(jī)制的實(shí)現(xiàn)
這篇文章主要介紹了Java中常用緩存Cache機(jī)制的實(shí)現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-10-10
Java concurrency之AtomicLong原子類_動力節(jié)點(diǎn)Java學(xué)院整理
AtomicLong是作用是對長整形進(jìn)行原子操作。下面通過本文給大家介紹Java concurrency之AtomicLong原子類的相關(guān)知識,感興趣的朋友一起看看吧2017-06-06
SpringBoot熱部署Springloaded實(shí)現(xiàn)過程解析
這篇文章主要介紹了SpringBoot熱部署Springloaded實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-03-03

