美文网首页
统计并按要求输出每个字符出现的次数

统计并按要求输出每个字符出现的次数

作者: Djbfifjd | 来源:发表于2020-12-18 17:03 被阅读0次

一、要求描述

获取给定字符串中每一个字母出现的次数,并按要求格式输出。例:给定“aabedbcabbcacda”,输出a(5)b(4)c(3)d(2)e(1)。

二、具体逻辑

  1. 定义一个字符串
  2. 定义一个 TreeMap 集合:
    键:Character
    值:Integer
  3. 把字符串转换为字符数组
  4. 遍历字符数组,得到每一个字符
  5. 拿刚才得到的字符作为键去集合中找,看返回值:
    是 null:说明该键不存在,就把该字符作为键,1 作为值存储。
    不是 null:说明该键存在,就把值 +1,然后重新存储该键和值。
  6. 定义字符串缓冲区变量
  7. 遍历集合,得到键和值,按照要求拼接处理
  8. 把字符串缓冲区转换为字符串输出

三、代码实现

import java.util.Scanner;
import java.util.Set;
import java.util.TreeMap;

public class TreeMapDemo {
    public static void main(String[] args) {
        // 定义一个字符串:键盘录入方式
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个字符串:");
        String line = sc.nextLine();

        // 定义一个TreeMap集合
        TreeMap<Character, Integer> tm = new TreeMap<>();
        // 把字符串转换为字符数组
        char[] chs = line.toCharArray();
        for (char ch : chs) {
            // 拿刚才得到的字符作为键去集合中找,看返回值
            Integer i = tm.get(ch);

            // 是null:说明该键不存在,就把该字符作为键,1作为值存储
            if (i == null) {
                tm.put(ch, 1);
            } else {
                // 不是null:说明该键存在,就把值加1,然后重新存储该键和值
                ++i;
                tm.put(ch, i);
            }
        }

        // 定义字符串缓冲区变量
        StringBuilder sb = new StringBuilder();

        // 遍历集合,得到键和值,按照要求拼接处理
        Set<Character> set = tm.keySet();
        for (Character key : set) {
            Integer value = tm.get(key);
            sb.append(key).append("(").append(value).append(")");
        }

        // 把字符串缓冲区转换为字符串输出
        String resulut = sb.toString();
        System.out.println("resulut:" + resulut);
    }
}

相关文章

  • 统计并按要求输出每个字符出现的次数

    一、要求描述 获取给定字符串中每一个字母出现的次数,并按要求格式输出。例:给定“aabedbcabbcacda”,...

  • (第4坑)统计字符并排序

    题目:从控制台输入或从文件中读入一段文本,统计出其中每个字符出现的次数,并按照出现次数排序输出。例如:Histor...

  • 统计字符串

    一:统计每个字符出现的次数 二:统计出现次数相同的是哪几项 三:统计出现次数最多的字符 四:统计指定字符出现的次数...

  • 统计字符串中每个字符出现的次数

    例如String str = “abcaaaefdabbhg”; 统计该字符串中每个字符出现的次数,输出:a===...

  • Python编程题18--统计字母出现次数并排序

    题目 给定一个列表,列表元素仅包含字母,请统计每个字母的出现次数,并按出现次数排序,要求最终返回结果为字典形式。 ...

  • PAT 11/26

    1.输出pat test的问题统计完每个字符出现的次数,怎么输出呢? hashtable[i]是用来存放每个字符的...

  • 记录一次华为笔试

    题目内容 输入一串字符串,输出里面字符的个数,并按照次数从高到低输出,同时如果次数相同的,按照出现的字符串位置的先...

  • 根据字符出现频率排序

    题目: 统计字符串中各字母(区分大小写)出现的频度并按字母在字符串中出现的次数从大到小排序。 代码: #inclu...

  • Java 小知识点集合(二)

    1、java统计字符串中每个字符出现的次数 例如String str = “abcaaaefdabbhg”;统计该...

  • 第一个只出现一次的字符

    统计字符串中每个字符出现的次数,然后再从左到右遍历字符串,找出出现次数为1的字符串。

网友评论

      本文标题:统计并按要求输出每个字符出现的次数

      本文链接:https://www.haomeiwen.com/subject/vlbubktx.html