黑马程序员技术交流社区

标题: 获取"asdfaadsfsaa"字符串中的字母出现的次数 [打印本页]

作者: l6781155    时间: 2015-7-8 13:37
标题: 获取"asdfaadsfsaa"字符串中的字母出现的次数
希望打印结果:a(1)c(2)...

  1. package com.mytest;

  2. import java.util.Iterator;
  3. import java.util.Map;
  4. import java.util.Set;
  5. import java.util.TreeMap;

  6. public class test02 {
  7. public static void main(String[] args) {

  8.   String str = "asdfaadsfsaa";

  9.   System.out.println(charCount(str));

  10. }

  11. public static String charCount(String str) {

  12.   char[] chs = str.toCharArray();
  13.   Map map = new TreeMap();

  14.   for (int x = 0; x < chs.length; x++) {

  15.    char ch = chs[x];

  16.    Integer value = map.get(ch);
  17.    if (value == null) {
  18.     map.put(ch, 1);
  19.    } else {
  20.     value = value + 1;
  21.     map.put(ch, value);
  22.    }
  23.   }

  24.   // System.out.println(map);

  25.   Set> entrySet = map.entrySet();

  26.   Iterator> it = entrySet.iterator();
  27.   StringBuffer sb = new StringBuffer();

  28.   while (it.hasNext()) {
  29.    Map.Entry me = it.next();
  30.    Character key = me.getKey();
  31.    Integer value = me.getValue();
  32.    sb.append(key + "(" + value + ")");
  33.   }

  34.   return sb.toString();

  35. }

  36. }
复制代码

作者: hwy801207    时间: 2015-7-8 14:18
恩 基本思路就是这样 用map来处理




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