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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 肖天长 中级黑马   /  2015-8-14 12:22  /  2834 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1黑马币
import java.util.*;
class Demo
{
        public static void main (String[]args)
        {
          String s = "aabcdeff";
           char[] cha = s.toCharArray();
           TreeMap<Character, Integer> tm = new TreeMap<Character, Integer>();

                        for (char c : cha) {
                   Integer it = tm.get(c);
                                 
                                 // (it!=null)?tm.put(c,1):tm.put(c,it+1);
                     if (it == null) {
                                tm.put(c, 1);
                        } else {
                                tm.put(c, it + 1);
                        }
                }
                       
        StringBuilder ss=new StringBuilder();
                 Set<Character> keyset = tm.keySet();
                 Iterator<Character>i=keyset.iterator();
                 while(i.hasNext())
                 {
                         Character ch=i.next();
                         Integer in=tm.get(ch);
                         ss.append(ch+"("+in+")");
                        System.out.print(ss.toString());
                 }
                 
        }
} 我打印出来的结果   试了几次总不对

最佳答案

查看完整内容

System.out.print(ss.toString()); 这句下移一行就可以了撒

10 个回复

倒序浏览
       System.out.print(ss.toString());
这句下移一行就可以了撒
回复 使用道具 举报
System.out.print(ss.toString()); 放错位置了。在循环中没遍历一次就会打印一次,得到的不是最终结果。StringBuider还在添加中,你打印当然不是想要的结果
回复 使用道具 举报
恩,楼上正解
回复 使用道具 举报
把不该循环的语句放到循环里了 我也常犯这个 但是还是比较容易检查的
回复 使用道具 举报
楼上说的,就是问题的关键。还是要把握循环的四要素啊,加油
回复 使用道具 举报
费世福 发表于 2015-8-18 00:01
楼上说的,就是问题的关键。还是要把握循环的四要素啊,加油

循环四要素?
回复 使用道具 举报

循环变量初始化,循环条件,循环体和改变循环变量。你这个就是循环体弄错了
回复 使用道具 举报
费世福 发表于 2015-8-18 20:14
循环变量初始化,循环条件,循环体和改变循环变量。你这个就是循环体弄错了 ...

知道了懂 谢谢了哥们
回复 使用道具 举报
肖天长 发表于 2015-8-18 22:24
知道了懂 谢谢了哥们

加油,黑马的努力
回复 使用道具 举报
费世福 发表于 2015-8-18 22:41
加油,黑马的努力

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