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

相关推荐
真上帝的左手37 分钟前
10. 软件设计&架构-Spring Security 7 整合CAS SSO 单点登录
java·spring·架构·sso
Zane19941 小时前
单例线程安全、生产者消费者、死锁:并发面试三连问串讲
java·后端
for_ever_love__2 小时前
python基础语法学习: 数据容器
windows·python·学习
云烟成雨TD2 小时前
Micrometer 系列【42】链路追踪:Span 体系 | 核心 API
java·链路追踪·micrometer
Gorway2 小时前
理解 Spring 依赖注入:从构造器注入到集合与条件 Bean
java·后端
LiLiYuan.2 小时前
【字符串常量池】
java·开发语言·面试
云空2 小时前
《电子专业完整学习路线图(分两套:本科四年版 / 零基础自学速成版)》
科技·学习·学习方法·高考
Sylvia33.2 小时前
从轮询到推送:足球数据API架构演进与火星数据技术拆解
java·服务器·网络·python·websocket·架构
min(a,b)2 小时前
学习第16天:LangGraph 与 Agent 工作流编排
学习
cfm_29142 小时前
高并发系统缓存全解
java·缓存