统计字符串出现的次数

package com.AnLI;
/*
需求:
键盘录入一个字符串,要求统计字符串中每个字符串出现的次数

思路:
1.键盘录入一个字符串
2.创建HashMap集合,键是character,值是Integer
3.遍历字符串得到每一个字符
4.拿得到的每一个字符作为键去hashmap中去找对应的值,看其返回值
如果返回值是null:说明改字符在hashmap集合中不存在,就把该字符作为键,1作为值存储
如果返回值不是null:说明该字符在hashmap集合中存在,把该值加1,然后重新存储该字符和对应的值
5.遍历hashmap集合,得到键和值,按照要求进行拼接
6.输出结果
*/
import java.util.HashMap;
import java.util.Scanner;
import java.util.Set;

public class HashMapDemo {
public static void main(String[] args) {
//键盘录入一个字符串
Scanner sc = new Scanner(System.in);
System.out.println("请输入:");
String s = sc.nextLine();
//创建hashmap集合
HashMap<Character,Integer> map = new HashMap<>();
//3.遍历字符串得到每一个字符
for (int i=0;i<s.length();i++){
       //charAt() 方法用于返回指定索引处的字符
char key = s.charAt(i);
//4.拿得到的每一个字符作为键去hashmap中去找对应的值,看其返回值
Integer value = map.get(key);
if (value == null){
//如果返回值是null:说明改字符在hashmap集合中不存在,就把该字符作为键,1作为值存储
map.put(key,1);
}else {
//如果返回值不是null:说明该字符在hashmap集合中存在,把该值加1,然后重新存储该字符和对应的值
value++;
map.put(key,value);
}
}
//5.遍历hashmap集合,得到键和值,按照要求进行拼接
StringBuilder sb = new StringBuilder();

Set<Character> keyset = map.keySet();
for (Character key : keyset){
Integer value = map.get(key);
sb.append(key).append("(").append(value).append(")");
}
String s1 = sb.toString();
System.out.println(s1);
}
}
posted @   克克9527  阅读(283)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示