黑马程序员技术交流社区

标题: 取出一个字符串中字母出现的次数。如: 输出格式为:a(2)b(1)k(2)... [打印本页]

作者: 王训印    时间: 2015-8-4 23:44
标题: 取出一个字符串中字母出现的次数。如: 输出格式为:a(2)b(1)k(2)...
  1. package com.wxy;

  2. import java.util.HashMap;
  3. import java.util.Iterator;
  4. import java.util.Map;
  5. import java.util.Map.Entry;
  6. import java.util.TreeMap;

  7. public class Test9
  8. {
  9.         public static void main(String[] args)
  10.         {
  11.                 String str = "abcdekka27qoq";
  12.                 TreeMap<Character, Integer> map = new TreeMap<Character, Integer>();
  13.                 StringBuilder sb = new StringBuilder();
  14.                 char[] ch = str.toCharArray();
  15.                
  16.                 for(int i=0;i<ch.length;i++)
  17.                 {
  18.                        
  19.                         if(!(ch[i]>='a' && ch[i]<='z' || ch[i]>='A' && ch[i]<='Z')) //判断是否是字母,不是字母重新开始for循环
  20.                                  continue;
  21.                         Integer value = map.get(ch[i]);
  22.                         if(value == null)
  23.                                 map.put(ch[i], 1);
  24.                         else
  25.                         {
  26.                                 value++;
  27.                                 map.put(ch[i],value);
  28.                         }
  29.                        
  30.                 }
  31. //                Iterator<Character> it =  map.keySet().iterator();
  32. //                while(it.hasNext())
  33. //                {
  34. //                        Character key = it.next();
  35. //                        Integer value = map.get(key);
  36. //                        sb.append(key  +"(" + value + ")");
  37. //                }
  38.                
  39.                 Iterator<Map.Entry<Character, Integer>> it = map.entrySet().iterator();       
  40.                 while(it.hasNext())
  41.                 {
  42.                         Map.Entry<Character, Integer> entry = it.next();
  43.                         Character key = entry.getKey();
  44.                         Integer value = entry.getValue();
  45.                         sb.append(key  +"(" + value + ")");
  46.                 }
  47.                
  48.                 System.out.println(sb.toString());
  49.                
  50.                
  51.                
  52.         }
  53.        
  54. }
复制代码





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