Java练习>Map集合>>计算一个字符串中每个字符出现次数

题目:计算一个字符串中每个字符出现次数。

分析:

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集合,输出结果。

实例:

定义一个类:

package JiHe.MapJiHe;

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

/*
题目:计算一个字符串中每个字符出现次数。

分析:
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 Demo05MapTest {
    public static void main(String[] args) {
        //1. 使用Scanner获取用户输入的字符串。
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入一个字符串:");
        String str = sc.next();
        
        //2. 创建一个Map集合,key是字符串中的字符,value是字符的个数
        HashMap map = new HashMap<>();
        
        //3. 遍历字符串得到的每个字符。
        for (char c : str.toCharArray()) {
            //4. 使用获取到的字符,去Map集合判断key是否存在;
            if(map.containsKey(c)){
                //key存在:
                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 + "次");
        }
    }
}

运行结果:

请输入一个字符串:sadhibacagfassa
a = 5次
b = 1次
s = 3次
c = 1次
d = 1次
f = 1次
g = 1次
h = 1次
i = 1次

 

你可能感兴趣的:(Java练习题集)