分析:
1. 使用Scanner对象获取字符串
2. 创建Map集合,key存储字符串中的字符,value存储字符出现的次数
3. 遍历Map集合,获取每一个字符
4. 判断获取的字符在Map集合中是否存在
key存在:通过get(key),获取value value++,put(key,value) 把新的value值存储到集合里
key不存在:put(key,1)
5. 遍历Map集合,输出结果
public class MapTest {
public static void main(String[] args) {
//1.使用Scanner获取用户输入的字符串
Scanner sc = new Scanner(System.in);
System.out.print("请输入字符串:");
String str = sc.nextLine();
//2.创建Map集合,key是字符串中的字符,value是字符的个数
HashMap<Character,Integer> 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集合,输出结果
Set<Character> set = map.keySet();
for (char key:set){
Integer value = map.get(key);
System.out.println(key+":"+value+"次");
}
}
}