统计字符串中每个字符出现的次数(Map集合来写)

题目:

“aababcabcdabcde”,获取字符串中每一个字母出现的次数要求结果:
a(5)b(4)c(3)d(2)e(1)

分析:
在这里插入图片描述
在这里插入图片描述

//定义一个字符串(键盘录入)
		System.out.println("请输入字符串:");
		Scanner sc=new Scanner(System.in);
		String s=sc.nextLine();
		
		//定义一个TreeMap集合
		TreeMap<Character,Integer> tm=new TreeMap<Character,Integer>();
		
		//把字符串转换为字符数组
		char[] ch=s.toCharArray();
		
		//遍历字符数组,得到每一个字符
		for(char c:ch){
			//用遍历得到的字符作为键到集合中去找值,看看返回值
			Integer i=tm.get(c);
			if(i==null){
				tm.put(c, 1);
			}else
			{
				i++;
				tm.put(c, i);
			}
		}
		
		//定义字符串缓冲区变量
		StringBuffer sb=new StringBuffer();
		
		//得到集合
		Set<Character> set=tm.keySet();
		
		//遍历集合,得到键和值,按照要求拼接
		for(Character key:set){
			Integer ii=tm.get(key);
			sb.append(key).append("(").append(ii).append(")");
		}
		//缓冲区变量装换成字符串
		String ss=sb.toString();
		System.out.println("result:"+ss);

结果:

请输入字符串:
aababcabcdabcde
result:a(5)b(4)c(3)d(2)e(1)

发布了188 篇原创文章 · 获赞 10 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/Ting1king/article/details/104721657