欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

案例:键盘录入的字符串,统计每个字符出现的次数;

程序员文章站 2022-04-17 22:44:06
...

代码段:

package Map_HashMap;
/*
案例:统计字符串中每个字符出现的次数;
 */

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

public class Statistics {
    public static void main(String[] args) {
        //创建键盘录入对象并提示输入字符串
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入字符串:");
        String s = sc.nextLine();

        //创建HashMap集合
        TreeMap<Character, Integer> hs = new TreeMap<Character, Integer>();

        //遍历输入的字符串
        for (int x = 0; x < s.length(); x++) {
            //获取每一个字符
            char key = s.charAt(x);
            //以字符作为TreeMap集合的键,获取值
            Integer value = hs.get(key);
            //如果值为空,就存储值为1
            if (value == null) {
                hs.put(key, 1);
            } else {
                //如果不为空,表示两个键相同,新的会替换旧的,将值做++操作来记录该键出现的次数
                value++;
                hs.put(key, value);
            }
        }

        //遍历TrreeMap集合①获取所有键的集合
        Set<Character> ch = hs.keySet();
        //遍历键的集合增强for
        for (Character c : ch) {
            //根据键获取值
            Integer i = hs.get(c);
            //将获取到的键值对格式化输出
            System.out.print(c + "(" + i + ")" + "\n");
        }

    }
}

难点:if部分,重点要理解键和值是怎样的原理存储到TreeMap集合当中去的。