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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. import java.util.TreeMap;

  2. /**
  3. * 第一次用a字母作为键去找集合,那么集合没有a这个键,所以也没有对应的次数。 返回null, 如果为null,就将a字母和1存入集合。
  4. * 如果指定的键已经存在,说明有对应的次数,就将对应的次数取出,并自增后再重新存入集合。
  5. *
  6. * @author Administrator 思路: 1,将字符串转换成字符数组,因为要对每一个字母进行操作。
  7. *         2,定义一个map集合,因为打印结果的字母有顺序,所以使用treemap集合。
  8. *         3,遍历字符数组,将每一个字母作为字母作为键去查map集合,如果返回null,就将该字母和1存入map集合中,
  9. *         如果返回不是null,说明,该字母在map集合中已经存在,并有对应的次数,并获取该次数,并进行自增。
  10. *         然后将该字母和子增后的次数存入map集合中,覆盖原来键所对应的值 4,将map集合中的数据变成指定的字符串形式返回。
  11. */
  12. public class Test6 {
  13.         public static void main(String[] args) {
  14.                 String str = "abdfdaf";
  15.                 charCount(str);
  16.         }

  17.         public static String charCount(String str) {
  18.                 char[] chs = str.toCharArray();
  19.                 TreeMap<Character, Integer> tm = new TreeMap<Character, Integer>();
  20.                 for (int x = 0; x < chs.length; x++) {
  21.                         Integer value = tm.get(chs[x]);
  22.                         if (value == null) {
  23.                                 tm.put(chs[x], 1);
  24.                         } else {
  25.                                 value = value + 1;
  26.                                 tm.put(chs[x], value);
  27.                         }
  28.                 }
  29.                 System.out.println(tm.toString());
  30.                 return null;
  31.         }
  32. }
复制代码
为什么什么都打印不出来呢?

4 个回复

倒序浏览
{a=2, b=1, d=2, f=2}。。。。。。。

不是打出来了吗- -。。汗
回复 使用道具 举报
在我的MyEclipse上也可以打出来啊……
结果:{a=2, b=1, d=2, f=2}
回复 使用道具 举报
我这里也有输出,楼主是不是运行错文件了?
回复 使用道具 举报
如果楼主是用的IntelliJ IDEA的话,它每次运行的时候都要手动去改运行参数的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马