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过程中的一些个人体会总结和借鉴,如有不当、错误的地方,请各位大佬批评指正,定当努力改正,如有侵权请联系作者删帖。)

相关推荐
Good_Starry10 分钟前
Java——反射
java
saoys16 分钟前
Opencv 学习笔记:绘制动态随机直线(附实时展示)
笔记·opencv·学习
又是忙碌的一天20 分钟前
SpringBoot 创建及登录、拦截器
java·spring boot·后端
Yeats_Liao32 分钟前
MindSpore开发之路(二十六):系列总结与学习路径展望
人工智能·深度学习·学习·机器学习
modelmd39 分钟前
Go 编程语言指南 练习题目分享
开发语言·学习·golang
fox_mt41 分钟前
AI Coding - ClaudeCode使用指南
java·ai编程
Nan_Shu_61444 分钟前
学习: Threejs (2)
前端·javascript·学习
毕设源码-郭学长1 小时前
【开题答辩全过程】以 基于SSM的高校运动会管理系统的设计与实现为例,包含答辩的问题和答案
java·eclipse
qq_5470261791 小时前
Maven 使用指南
java·maven
xiaolyuh1231 小时前
Arthas修改类(如加日志)的实现原理
java