黑马程序员技术交流社区

标题: 统计字符串中每个字符出现的次数 [打印本页]

作者: 大地z灵    时间: 2015-10-14 23:54
标题: 统计字符串中每个字符出现的次数
//有一个字符串"abcdeabcdabcaba",获取字符串中每一个字符出现的次数并输出,格式为"a(5)b(4)c(3)d(2)e(1)"
public class TreeMapDemo {
        public static void main(String[] args) {
                //键盘录入一个字符串
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入字符串");
                String StringIn = sc.nextLine();
                //定义一个TreeMap集合
                TreeMap<Character,Integer> tm = new TreeMap<Character,Integer>();
                //把字符串转换为字符数组
                char[] chs = StringIn.toCharArray();
                //遍历字符数组
                for(char ch : chs) {
                        //判断集合中是否有该字符对应的键,如果有,集合的值加1,如果没有,直接添加该键
                        if(!tm.containsKey(ch)) {
                                tm.put(ch, 1);
                        } else {
                                Integer i = tm.get(ch);
                                tm.put(ch,++i);
                        }
                }
                //定义字符缓冲区变量
                StringBuilder sb = new StringBuilder();
                //获取Map集合中所有的键和值
                Set<Map.Entry<Character,Integer>> set = tm.entrySet();
                for(Map.Entry<Character,Integer> me : set) {
                        Character ch = me.getKey();
                        Integer it = me.getValue();
                        //将键和值添加到字符缓冲区中
                        sb.append(ch).append('(').append(it).append(')');
                }
                System.out.println(sb);
        }
}
作者: 王海彬    时间: 2015-10-15 10:12
这个题有人面试遇到过,大家了解下
作者: 黑夜中那颗星    时间: 2015-10-15 17:34
这个毕老师视频里面不是有讲过吗?
作者: dai2686779    时间: 2015-10-15 18:45
6666666666666666666
作者: zombie_ad    时间: 2015-10-15 18:53
可以不用集合,用String类也可以解决!!!
作者: feng0606    时间: 2015-10-15 20:19
老毕视频里面有详解啊这个.
作者: 往事如风555    时间: 2015-10-16 00:17
面试题啊,那必须背下来了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2