Java實現(xiàn)統(tǒng)計字符串出現(xiàn)的次數(shù)
本文實例為大家分享了Java實現(xiàn)統(tǒng)計字符串出現(xiàn)次數(shù)的具體代碼,供大家參考,具體內(nèi)容如下
需求:
健盤錄入一個字符串,要求統(tǒng)計字符串中每個字符串出現(xiàn)的次數(shù)。
舉例:鍵盤錄入"aababcabcdabcde"
在控制臺輸出: "a(1)b(4)c(3)d(2)e(1)"
思路:
①健盤錄入一個字符串
②創(chuàng)建HashMap集合,鍵是Character, 值是Integer
③遍歷字符申,得到每一個字符
④拿得到的每一個字符作為鍵到HashMap集合中去找對應(yīng)的值,看其返回值
如果返回值是null:說明該字符在HashMap集合中不存在,就把該字符作為鍵,1作為值存儲
如果返回值不是null:說明該字符在HashMap集合中存在,把該值加1,然后重新存儲該字符和對成的值
⑤遍歷HashMap集合,得到鍵和值,按照要求進(jìn)行拼接
⑥輸出結(jié)果
public class StrCount { public static void main(String[] args) { //健盤錄入一個字符串 Scanner sc = new Scanner(System.in); System.out.println("清輸入一串字符串:"); String line = sc.nextLine(); //創(chuàng)建HashMap集合,鍵是Character, 值是Integer HashMap<Character, Integer> map = new HashMap<>(); //遍歷字符申,得到每一個字符 for (int i = 0; i < line.length(); i++) { char key = line.charAt(i); //拿得到的每一個字符作為鍵到HashMap集合中去找對應(yīng)的值,看其返回值 Integer value = map.get(key); if (value == null) { //如果返回值是null:說明該字符在HashMap集合中不存在,就把該字符作為鍵,1作為值存儲 map.put(key, 1); } else { //如果返回值不是ull:說明該字符在HashMap集合中存在,把該值加1,然后重新存儲該字符和對成的值 value++; map.put(key, value); } } //遍歷HashMap集合,得到鍵和值,按照要求進(jìn)行拼接 StringBuilder sb = new StringBuilder(); Set<Character> keySet = map.keySet(); for (Character key : keySet) { Integer value = map.get(key); sb.append(key).append("(").append(value).append(")"); } //輸出結(jié)果 String result = sb.toString(); System.out.println(result); } }
最后那個遍歷輸出是跟著老師寫的,只不過沒貼我寫的下面這個是因為我覺得老師的那個更符合題意,使用的是拼接,結(jié)果都一樣。
//遍歷HashMap集合,得到鍵和值,按照要求進(jìn)行拼接 Set<Character> keySet = map.keySet(); for (Character key : keySet) { Integer value = map.get(key); //輸出結(jié)果 System.out.print(key + "(" + value + ")"); }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- JAVA統(tǒng)計字符串中某個字符出現(xiàn)次數(shù)的方法實現(xiàn)
- Java案例使用集合方法實現(xiàn)統(tǒng)計任意字符串中字符出現(xiàn)的次數(shù)
- Java統(tǒng)計一個字符串在另外一個字符串出現(xiàn)次數(shù)的方法
- Java統(tǒng)計英文句子中出現(xiàn)次數(shù)最多的單詞并計算出現(xiàn)次數(shù)的方法
- Java統(tǒng)計字符串中字符出現(xiàn)次數(shù)的方法示例
- Java編程實現(xiàn)統(tǒng)計數(shù)組中各元素出現(xiàn)次數(shù)的方法
- java統(tǒng)計字符串中重復(fù)字符出現(xiàn)次數(shù)的方法
- Java中計算集合中元素的出現(xiàn)次數(shù)統(tǒng)計
相關(guān)文章
使用Java代碼獲取服務(wù)器性能信息及局域網(wǎng)內(nèi)主機(jī)名
這篇文章主要介紹了使用Java代碼獲取服務(wù)器性能信息及局域網(wǎng)內(nèi)主機(jī)名的方法,方便對服務(wù)器的遠(yuǎn)程管理和團(tuán)隊協(xié)作時用到,而且文中的方法無需調(diào)用jni,需要的朋友可以參考下2015-11-11java多線程join()方法的作用和實現(xiàn)原理解析(應(yīng)用場景)
join方法主要是用于將當(dāng)前線程掛起,等待其他線程結(jié)束后在執(zhí)行當(dāng)前線程,本文通過應(yīng)用場景分析代碼示例講解java多線程join()方法的作用和實現(xiàn)原理,感興趣的朋友一起看看吧2021-07-07Java語言實現(xiàn)簡單FTP軟件 FTP軟件效果圖預(yù)覽之上傳功能(3)
這篇文章主要為大家詳細(xì)介紹了Java語言實現(xiàn)簡單FTP軟件,F(xiàn)TP軟件效果圖預(yù)覽之上傳功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-03-03基于Springboot商品進(jìn)銷存管理系統(tǒng)的設(shè)計與實現(xiàn)
本項目基于springboot實現(xiàn)一個進(jìn)銷存管理系統(tǒng),主要用戶開設(shè)網(wǎng)店的相關(guān)商品的進(jìn)貨、銷售、庫存的管理,功能比較完整,需要的可以參考一下2022-08-08一文帶你掌握J(rèn)ava8強(qiáng)大的StreamAPI
Java8API添加了一個新的抽象稱為流Stream,可以讓你以一種聲明的方式處理數(shù)據(jù)。Stream 使用一種類似用SQL 語句從數(shù)據(jù)庫查詢數(shù)據(jù)的直觀方式來提供一種對 Java 集合運(yùn)算和表達(dá)的高階抽象。Stream API可以極大提高Java程序員的生產(chǎn)力,讓程序員寫出高效率、干凈、簡潔的代碼2021-10-10