JAVA学习-练习使用Java实现“找出出现次数最多的字符并计算次数”

问题:

给定一个字符串"today is a special day",长度任意,要求找出其出现次数最多的字符及计算次数。

解答思路:

以下是一种可能的实现方案:

java 复制代码
import java.util.HashMap;

import java.util.Map;


public class Main {

    public static void main(String[] args) {

        String str = "today is a special day";

        Map<Character, Integer> charCount = new HashMap<>();


        for (char c : str.toCharArray()) {

            if (charCount.containsKey(c)) {

                charCount.put(c, charCount.get(c) + 1);

            } else {

                charCount.put(c, 1);

            }

        }


        int maxCount = 0;

        char maxChar = '\0';


        for (Map.Entry<Character, Integer> entry : charCount.entrySet()) {

            if (entry.getValue() > maxCount) {

                maxCount = entry.getValue();

                maxChar = entry.getKey();

            }

        }


        System.out.println("出现次数最多的字符是:" + maxChar + ",出现次数为:" + maxCount);

    }

}

该程序首先创建一个'HashMap'来存储每个字符及其出现的次数。然后,它遍历输入字符串中的每个字符,并在'HashMap'中更新其出现次数。如果字符已经在'HashMap'中,则将其出现次数加 1;否则,将其添加到'HashMap'中,并将其出现次数设置为 1。

接下来,程序遍历'HashMap'中的每个条目,并找到出现次数最多的字符及其出现次数。它将最大出现次数初始化为 0,并将最大字符初始化为''\0''。然后,它遍历'HashMap'中的每个条目,并将其出现次数与最大出现次数进行比较。如果出现次数大于最大出现次数,则将最大出现次数更新为该出现次数,并将最大字符更新为该字符。

最后,程序打印出出现次数最多的字符及其出现次数。

(文章为作者在学习java过程中的一些个人体会总结和借鉴,如有不当、错误的地方,请各位大佬批评指正,定当努力改正,如有侵权请联系作者删帖。)

相关推荐
崇山峻岭之间2 分钟前
Matlab学习笔记03
笔记·学习·matlab
qq_12498707533 分钟前
基于springboot的智能医院挂号系统(源码+论文+部署+安装)
java·人工智能·spring boot·后端·毕业设计
崇山峻岭之间5 分钟前
Matlab学习记录08
开发语言·学习·matlab
悲喜自渡7216 分钟前
Docker指令自存
java·docker·eureka
Dingdangr8 分钟前
基于Python的火焰识别系统设计与实现(含论文、开题报告及答辩PPT)
java·python·测试工具·安全
梁同学与Android9 分钟前
Android ---【经验篇】Fragment 生命周期高频面试题(附标准答案)
java·面试·fragment面试
速易达网络11 分钟前
Java Web + Vue 前后端分离跨域解决方案
java·开发语言
艺杯羹12 分钟前
Thymeleaf模板引擎:让Spring Boot页面开发更简单高效
java·spring boot·后端·thymeleadf
山土成旧客15 分钟前
【Python学习打卡-Day25】从程序崩溃到优雅处理:掌握Python的异常处理艺术
人工智能·python·学习
shoubepatien29 分钟前
JavaWeb_Maven
java·maven