package Section_8_Map;
import java.util.HashMap;
import java.util.Scanner;
import java.util.Set;
/*
练习:
计算一个字符串中每个字符出现的次数
分析:
1.使用Scanner获取字符串
2.创建Map集合,key是字符,value是出现次数
3.遍历字符串获取每一个字符
4.使用获取到的字符,去Map集合判断key是否存在
key存在:获取value,++,更新
key不存在:put(key,1)
5.遍历Map集合,输出结果
*/
public class Demo07Practice {
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> hashMap = new HashMap<>();
// 3.遍历字符串获取每一个字符
for (char c : str.toCharArray()) {
// 4.使用获取到的字符,去Map集合判断key是否存在
if (hashMap.containsKey(c)) {
// key存在
Integer value = hashMap.get(c);
hashMap.put(c,++value);
} else {
// key不存在
hashMap.put(c,1);
}
}
// 5.遍历Map集合,输出结果
Set<Character> characters = hashMap.keySet();
for (Character character : characters) {
Integer time = hashMap.get(character);
System.out.println(character + "出现了" + time + "次。");
}
}
}