マップ演習、入力文字列の数を数える

package Day17;/*
 *@author wanghongyuan
 *@Create 2020/12/26 8:31
 */

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

/*
    练习题目
        计算一个字符串中每个字符出现的个数

   分析:
      1.使用Scanner获取用户输入的字符串
      2.创建一个map集合,Key 是字符串的字符, value是字符出现的个数
      3.遍历字符串,获取每一个字符
      4.使用获取到的字符,去Map集合判断key是否存在
        key存在:
            通过字符(key),获取value(字符个数)
            value++;
            put(key,value)把新的value存储到Map集合中
        key不存在
            put(key,1)
      5.遍历Map集合,输出结果
 */
public class Demo01MapTest {
    
    
    public static void main(String[] args) {
    
    
//        1.使用Scanner获取用户输入的字符串
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入字符:");
        String str = sc.next();
//        2.创建一个map集合,Key 是字符串的字符, value是字符出现的个数
        HashMap<Character, Integer> map = new HashMap<>();
//        3.遍历字符串,获取每一个字符
        for (char c :str.toCharArray()){
    
    
//        4.使用获取到的字符,去Map集合判断key是否存在
            if (map.containsKey(c)){
    
    
                // 存在
                Integer value = map.get(c);
                value++;
                map.put(c,value);
            }else {
    
    
//             key不存在
                map.put(c,1);
            }
        }
//        5.遍历Map集合,输出结果
        for (Character key :map.keySet()){
    
    
            Integer value = map.get(key);
//            连接这两个值需要中间加个字符隔开,不然的话两个值会相加成为整数
            System.out.println(key+"--->"+value);
        }
    }
}

おすすめ

転載: blog.csdn.net/weixin_41977380/article/details/111715120
おすすめ