服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - Java实现统计字符串出现的次数

Java实现统计字符串出现的次数

2022-02-24 01:01Januea Java教程

这篇文章主要为大家详细介绍了Java实现统计字符串出现的次数,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了Java实现统计字符串出现次数的具体代码,供大家参考,具体内容如下

需求:

健盘录入一个字符串,要求统计字符串中每个字符串出现的次数。

举例:键盘录入"aababcabcdabcde"

在控制台输出: "a(1)b(4)c(3)d(2)e(1)"

思路:

①健盘录入一个字符串
②创建HashMap集合,键是Character, 值是Integer
③遍历字符申,得到每一个字符
④拿得到的每一个字符作为键到HashMap集合中去找对应的值,看其返回值
        如果返回值是null:说明该字符在HashMap集合中不存在,就把该字符作为键,1作为值存储
        如果返回值不是null:说明该字符在HashMap集合中存在,把该值加1,然后重新存储该字符和对成的值
⑤遍历HashMap集合,得到键和值,按照要求进行拼接
⑥输出结果

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
public class StrCount {
    public static void main(String[] args) {
 
        //健盘录入一个字符串
        Scanner sc = new Scanner(System.in);
        System.out.println("清输入一串字符串:");
        String line = sc.nextLine();
 
        //创建HashMap集合,键是Character, 值是Integer
        HashMap<Character, Integer> map = new HashMap<>();
 
        //遍历字符申,得到每一个字符
        for (int i = 0; i < line.length(); i++) {
            char key = line.charAt(i);
            //拿得到的每一个字符作为键到HashMap集合中去找对应的值,看其返回值
            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集合,得到键和值,按照要求进行拼接
        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(")");
        }
 
        //输出结果
        String result = sb.toString();
        System.out.println(result);
 
    }
}

最后那个遍历输出是跟着老师写的,只不过没贴我写的下面这个是因为我觉得老师的那个更符合题意,使用的是拼接,结果都一样。

?
1
2
3
4
5
6
7
//遍历HashMap集合,得到键和值,按照要求进行拼接
        Set<Character> keySet = map.keySet();
        for (Character key : keySet) {
            Integer value = map.get(key);
            //输出结果
            System.out.print(key + "(" + value + ")");
        }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/Januea/article/details/120845969

延伸 · 阅读

精彩推荐
  • Java教程从零开始学Java之关系运算符

    从零开始学Java之关系运算符

    今天带大家复习Java关系运算符,文中对Java运算符相关知识作了详细总结,对正在学习java基础的小伙伴们很有帮助,需要的朋友可以参考下...

    编程界明世隐8412021-12-09
  • Java教程浅谈java中replace()和replaceAll()的区别

    浅谈java中replace()和replaceAll()的区别

    这篇文章主要介绍了java中replace()和replaceAll()的区别,两者都是常用的替换字符的方法,感兴趣的小伙伴们可以参考一下 ...

    lijiao1942020-01-16
  • Java教程java程序中指定某个浏览器打开的实现方法

    java程序中指定某个浏览器打开的实现方法

    最近工作中遇到一个需求,是要利用java打开指定浏览器,整理后发现有四种解决的方法,所以想着分享出来,下面这篇文章主要给大家介绍了java程序中指...

    chuquan.ou3152020-08-29
  • Java教程Java构造器使用方法及注意事项

    Java构造器使用方法及注意事项

    这篇文章主要介绍了Java构造器使用方法及注意事项的相关资料,这里举例说明如何使用构造器及需要注意的地方,需要的朋友可以参考下...

    jianshu4782020-12-08
  • Java教程spring注解识别一个接口的多个实现类方法

    spring注解识别一个接口的多个实现类方法

    下面小编就为大家带来一篇spring注解识别一个接口的多个实现类方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看...

    Java之家5072020-09-20
  • Java教程java微信公众号开发案例

    java微信公众号开发案例

    这篇文章主要为大家详细介绍了java微信公众号开发案例,如何接入公众号,订阅号怎么样接收消息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    伟雪无痕4072020-07-06
  • Java教程SpringBoot常见问题小结

    SpringBoot常见问题小结

    这篇文章主要介绍了SpringBoot常见问题小结,需要的朋友可以参考下...

    ashur6193372020-11-30
  • Java教程Java实现abc字符串排列组合

    Java实现abc字符串排列组合

    这篇文章主要为大家详细介绍了JAVA实现abc字符串的排列组合,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    zhenxianyimeng11932021-03-31