计算一个字符串每个字符出现的个数
-
分析:
-
1.使用Scanner获取用户输入的字符串
-
2.创建Map集合,key是字符串中的字符,value是字符的个数
-
3.遍历字符串,获取每一个字符
-
4.使用获取得到的字符,去Map集合判断是否存在
-
key存在:
-
通过字符(key),获取Value(字符个数)
-
value++;
-
put(key.value)把新的value存储到Map集合中
-
key不存在
-
Put(key,1)
-
5.遍历Map集合,输出结果
代码:public class Maptest { public static void main(String[] args) { //输入字符串 Scanner sc=new Scanner(System.in); System.out.println("请输入字符串"); String abc=sc.next(); //存储到Map中 HashMap<Character,Integer> map=new HashMap<>(); //是用for循环增加value值 for (char c:abc.toCharArray() ) { if (map.containsKey(c)) { Integer value = map.get(c); value++; map.put(c,value); } else { map.put(c,1); } } //使用Enteryset方法 Set<Map.Entry<Character, Integer>> entries = map.entrySet(); for (Map.Entry<Character, Integer> entry:entries ) { //打印输出各个字符的数量 System.out.println("字符"+entry.getKey()+"有"+entry.getValue()+"个"); } }}
显示效果
请输入字符串
sdkafgjhlakjflf34-=
字符a有2个
字符d有1个
字符f有3个
字符g有1个
字符h有1个
字符j有2个
字符k有2个
字符l有2个
字符-有1个
字符s有1个
字符3有1个
字符4有1个
字符=有1个