黑马程序员技术交流社区
标题:
测试中的一道题,感觉比较有代表性,而且所涵盖的知识点也比较多,就给大家分享一下
[打印本页]
作者:
菜鸟的求学路
时间:
2015-5-21 17:57
标题:
测试中的一道题,感觉比较有代表性,而且所涵盖的知识点也比较多,就给大家分享一下
package com.itheima;
import java.util.Set;
import java.util.TreeMap;
/**
* 3、 取出一个字符串中字母出现的次数。如:字符串:"abcdekka27qoq" ,输出格式为:a(2)b(1)k(2)...
* 分析:
* 从其输出格式可以看出,其结果的表达方式是键值对的形式,也即: a --> 2;b-->1;k-->2 ......
* 因此需要一个Map集合,并且结果的输出是按一定顺序(a-b-c)输出,所以定义一个TreeMap集合
*/
public class Test3 {
public static void main(String[] args) {
// 封装字符串
String str = "abcdekka27qoq";
// 定义一个Map集合
TreeMap<Character,Integer> trMap = new TreeMap<>();
// 遍历字符串中的每一个字符
for(int i=0;i<str.length();i++){
char key = str.charAt(i);
if(!trMap.containsKey(key)){
trMap.put(key, 1);
}else {
int temp = trMap.get(key);
temp++;
trMap.put(key, temp);
}
}
// 遍历集合,首先获取所有的键的集合
Set<Character> set = trMap.keySet();
// 遍历set集合,并输出对应的值
for(Character c : set){
System.out.print(c+"("+trMap.get(c)+")");
}
}
}
作者:
zhangyq
时间:
2015-5-22 02:19
不错!!!!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2