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

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

需求:

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

举例:键盘录入"aababcabcdabcde"

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

思路:

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

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);

    }
}

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

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

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

(0)

相关推荐

  • java统计字符串中重复字符出现次数的方法

    本文实例讲述了java统计字符串中重复字符出现次数的方法.分享给大家供大家参考,具体如下: package com; import org.junit.Test; /** * 统计一个字符串的重复字符出现的次数 * * @author zdw * */ public class StringTest { @Test public void test() { String s = "fdfaacceeeeeeeeeeeegghikkkkkoooo"; count(s); } public

  • java实现统计字符串中字符及子字符串个数的方法示例

    本文实例讲述了java实现统计字符串中字符及子字符串个数的方法.分享给大家供大家参考,具体如下: 这里用java实现统计字符串中的字符(包括数字.大写字母.小写字母以及其他字符)个数,以及字符串的子字符串的个数. 运行效果图如下: 具体代码如下: import java.util.Scanner; public class Counter { static Scanner scanner = new Scanner(System.in); public static void count(Str

  • Java编程实现统计一个字符串中各个字符出现次数的方法

    本文实例讲述了Java编程实现统计一个字符串中各个字符出现次数的方法.分享给大家供大家参考,具体如下: import java.util.Iterator; import java.util.Set; import java.util.TreeMap; public class TreeMapDemo { //统计一个字符串中相应字符出现的次数 public static void main(String[] args) { // System.out.println("我们测试结果:"

  • java统计字符串中指定元素出现次数方法

    本文实例讲解了统计文本中某个字符串出现的次数或字符串中指定元素出现的次数方法,分享给大家供大家参考,具体内容如下 运行效果图: 程序查找的上此文件带"a"的字符在多少次 具体代码如下 package com.zuidaima.util.string; import java.io.*; public class CountString { public static int count(String filename, String target) throws FileNotFoun

  • java中对字符串每个字符统计的方法

    复制代码 代码如下: /*     String name = "adsbsadgsadgtewterfsdf";     eg a-->6,b-->1 d-->3 ...     将字符串以a(字母)=>2(个数)存入Map集合框架中    思路:1.将字符串转换成字符数组.           2.定义一个Map集合,然后对字符数组进行遍历,如果Map集合中没有该元素就将该元素存入Map集合中,并定义一个计数器,将次数存入Map中,来达到目的 */impor

  • java统计字符串单词个数的方法解析

    在一些项目中可能需要对一段字符串中的单词进行统计,我在这里写了一个简单的demo,有需要的同学可以拿去看一下. 不说废话了直接贴代码: 实现代码: /** * 统计各个单词出现的次数 * @param text */ public static void findEnglishNum(String text){ //找出所有的单词 String[] array = {".", " ", "?", "!"}; for (int

  • java8 统计字符串字母个数的几种方法总结(推荐)

    1.统计字符串字母个数(并且保持字母顺序) 比如: aabbbbbbbba喔喔bcab cdabc deaaa 目前我做知道的有5种方式噢,如果你还有更好的,欢迎赐教 //方式1 public static void letterCount1(String s) { s=s.replaceAll(" +", ""); //1,转换成字符数组 char c[]=s.toCharArray(); Map<Character, Integer> tree=ne

  • Java简单统计字符串中汉字,英文字母及数字数量的方法

    本文实例讲述了Java简单统计字符串中汉字,英文字母及数字数量的方法.分享给大家供大家参考,具体如下: package org.zhy.demo.algorithm; /** * 有一个字符串,其中包含中文字符.英文字符和数字字符,请统计和打印出各个字符的个数 * * @author Administrator * */ public class Str { public static void main(String[] args) { String str = "adasfAAADFD阿萨德

  • Java统计字符串中字符出现次数的方法示例

    本文实例讲述了Java统计字符串中字符出现次数的方法.分享给大家供大家参考,具体如下: package com.wenzhi; import java.util.Scanner; public class Test01 { public static void main(String args[]) { Scanner scan = new Scanner(System.in); System.out.println("请你输入字符"); String str = scan.nextL

  • java 字符串词频统计实例代码

    复制代码 代码如下: package com.gpdi.action; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; public class WordsStatistics { class Obj {         int count ;         Obj(int count)

随机推荐