题目:
“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)