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

相关推荐
yuwinter5 分钟前
鸿蒙HarmonyOS学习笔记(2)
笔记·学习·harmonyos
2202_7544215411 分钟前
生成MPSOC以及ZYNQ的启动文件BOOT.BIN的小软件
java·linux·开发语言
蓝染-惣右介14 分钟前
【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段
java·数据库·tomcat·mybatis
小林想被监督学习14 分钟前
idea怎么打开两个窗口,运行两个项目
java·ide·intellij-idea
HoneyMoose16 分钟前
IDEA 2024.3 版本更新主要功能介绍
java·ide·intellij-idea
我只会发热18 分钟前
Java SE 与 Java EE:基础与进阶的探索之旅
java·开发语言·java-ee
是老余19 分钟前
本地可运行,jar包运行错误【解决实例】:通过IDEA的maven package打包多模块项目
java·maven·intellij-idea·jar
crazy_wsp20 分钟前
IDEA怎么定位java类所用maven依赖版本及引用位置
java·maven·intellij-idea
.Ayang22 分钟前
tomcat 后台部署 war 包 getshell
java·计算机网络·安全·web安全·网络安全·tomcat·网络攻击模型
red_redemption27 分钟前
自由学习记录(23)
学习·unity·lua·ab包