欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java實現(xiàn)統(tǒng)計字符串出現(xiàn)的次數(shù)

 更新時間:2021年10月21日 17:06:13   作者:Januea  
這篇文章主要為大家詳細(xì)介紹了Java實現(xiàn)統(tǒng)計字符串出現(xiàn)的次數(shù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了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í)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • java內(nèi)部類原理與用法詳解

    java內(nèi)部類原理與用法詳解

    這篇文章主要介紹了java內(nèi)部類原理與用法,結(jié)合實例形式分析了Java內(nèi)部類的概念、原理、分類及相關(guān)使用技巧,需要的朋友可以參考下
    2019-05-05
  • Java PreparedStatement用法詳解

    Java PreparedStatement用法詳解

    這篇文章主要介紹了Java PreparedStatement用法詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • 使用Java代碼獲取服務(wù)器性能信息及局域網(wǎng)內(nèi)主機(jī)名

    使用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-11
  • 詳解Java基礎(chǔ)知識——JDBC

    詳解Java基礎(chǔ)知識——JDBC

    這篇文章主要介紹了Java基礎(chǔ)知識——JDBC,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • java多線程join()方法的作用和實現(xiàn)原理解析(應(yīng)用場景)

    java多線程join()方法的作用和實現(xiàn)原理解析(應(yīng)用場景)

    join方法主要是用于將當(dāng)前線程掛起,等待其他線程結(jié)束后在執(zhí)行當(dāng)前線程,本文通過應(yīng)用場景分析代碼示例講解java多線程join()方法的作用和實現(xiàn)原理,感興趣的朋友一起看看吧
    2021-07-07
  • SpringBoot 多環(huán)境配置和啟動詳解

    SpringBoot 多環(huán)境配置和啟動詳解

    這篇文章主要為大家介紹了SpringBoot多環(huán)境配置和啟動詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • Java語言實現(xiàn)簡單FTP軟件 FTP軟件效果圖預(yù)覽之上傳功能(3)

    Java語言實現(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商品進(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

    一文帶你掌握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
  • mybatis 為什么千萬不要使用 where 1=1

    mybatis 為什么千萬不要使用 where 1=1

    這篇文章主要介紹了mybatis 為什么千萬不要使用 where 1=1,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05

最新評論