A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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)+")");
                }
               
        }

}

1 个回复

倒序浏览
不错!!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马