方法:
1.键盘输入一个字符串
2.创建HashMap集合:键是Character,值是Interger
3.遍历字符串,抽取每一个字符
4.拿到的每一个字符作为键,到HashMap中找对应的值,看其返回值
①如果返回null,说明map中之前没有存入这个字符。将这个字符作为键,值设为1。
②如果返回不是null,说明map中之前有过了。将对应的值加1,然后重新存入这个键值对。
5.遍历Hashmap集合。

代码:

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;

public class Scancharactor {
    public static void main(String[] args)
    {
        //输入字符串,存入line
        Scanner scopr = new Scanner(System.in);
        String line = scopr.nextLine();

        //创建HashMap:取名为hsm
        HashMap<Character,Integer> hsm = new HashMap<Character,Integer>();

        //遍历字符串
        for(int i=0; i<line.length(); i++)
        {
            char key = line.charAt(i);   //第i位置的字符提取出来,暂存在key中

            if(hsm.get(key) == null){   //当前不存在key这个字符
                hsm.put(key, 1);
            }
            else{    //当前存在key这个字符
                hsm.put(key,hsm.get(key)+1);
            }  
        }

        //遍历map
        Set<Map.Entry<Character,Integer>> entryset = hsm.entrySet();
        for(Map.Entry<Character,Integer> cp : entryset)
        {
            Character key = cp.getKey();
            Integer value = cp.getValue();
            System.out.println("字符"+key+":"+value+"个");
        }
    }
    
}

测试:
在这里插入图片描述


版权声明:本文为GalaxyerKw原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/GalaxyerKw/article/details/122950165