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

© purgatory 中级黑马   /  2015-9-21 21:40  /  388 人查看  /  1 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

取出一个字符串中字母出现的次数。如:字符串:"abcdekka27qoq" ,
  输出格式为:a(2)b(1)k(2)...

public static void main(String[] args) {
               
               
                HashMap<Character,Integer> hm=new HashMap<>();//利用不同步的HashMap储存每个字符
                String str="assdjkfhjkxcvhufhwuiehfsd"; //一堆字符
                char[]carr=str.toCharArray();
                for (char c :carr) {//遍历
                        if(hm.get(c)==null) //如果hm的c键没有添加,那么添加
                                hm.put(c, 1);
                        else
                                hm.put(c,hm.get(c)+1); //如果有了 次数累加
                }
               
                Set <Map.Entry<Character,Integer>> s1=hm.entrySet();
                Iterator<Map.Entry<Character, Integer>> i=s1.iterator();
                while(i.hasNext()){
                        Map.Entry<Character,Integer> e=i.next();
                        System.out.print(e.getKey()+"("+e.getValue()+") ");
                }
        }

1 个回复

倒序浏览

  1.         public static void arrCount(String str)
  2.         {
  3.                 char[] ch = str.toCharArray();
  4.                
  5.                 TreeMap<Character,Integer> tm = new TreeMap<Character,Integer>();
  6.                
  7.                 for(int i=0;i<ch.length;i++)
  8.                 {
  9.                         Integer value = tm.get(ch[i]);
  10.                         if(value==null)
  11.                         {
  12.                                 tm.put(ch[i], 1);
  13.                         }
  14.                        
  15.                         else
  16.                         {
  17.                                 value += 1;
  18.                                 tm.put(ch[i], value);
  19.                         }
  20.                 }
  21.                
  22.                 //定义一个StringBuilder
  23.                 StringBuilder sb = new StringBuilder();
  24.                 Set<Map.Entry<Character, Integer>> set = tm.entrySet();
  25.                 Iterator<Map.Entry<Character,Integer>> it = set.iterator();
  26.                
  27.                 while(it.hasNext())
  28.                 {
  29.                         Map.Entry<Character, Integer> mp = it.next();
  30.                         char key = mp.getKey();
  31.                         int value = mp.getValue();
  32.                         sb.append(key+"("+value+")");
  33.                 }
  34.                
  35.                
  36.                 System.out.println(sb.toString());
  37.         }
复制代码


回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马