黑马程序员技术交流社区

标题: 打印字母的出现次数,哪步出错了? [打印本页]

作者: 肖天长    时间: 2015-8-14 12:22
标题: 打印字母的出现次数,哪步出错了?
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());
                 }
                 
        }
} 我打印出来的结果   试了几次总不对


作者: backin    时间: 2015-8-14 12:22
       System.out.print(ss.toString());
这句下移一行就可以了撒
作者: 神兽    时间: 2015-8-14 19:41
System.out.print(ss.toString()); 放错位置了。在循环中没遍历一次就会打印一次,得到的不是最终结果。StringBuider还在添加中,你打印当然不是想要的结果
作者: iamzk    时间: 2015-8-14 20:05
恩,楼上正解
作者: sunsteam    时间: 2015-8-14 22:58
把不该循环的语句放到循环里了 我也常犯这个 但是还是比较容易检查的
作者: 费世福    时间: 2015-8-18 00:01
楼上说的,就是问题的关键。还是要把握循环的四要素啊,加油
作者: 肖天长    时间: 2015-8-18 13:10
费世福 发表于 2015-8-18 00:01
楼上说的,就是问题的关键。还是要把握循环的四要素啊,加油

循环四要素?
作者: 费世福    时间: 2015-8-18 20:14
肖天长 发表于 2015-8-18 13:10
循环四要素?

循环变量初始化,循环条件,循环体和改变循环变量。你这个就是循环体弄错了
作者: 肖天长    时间: 2015-8-18 22:24
费世福 发表于 2015-8-18 20:14
循环变量初始化,循环条件,循环体和改变循环变量。你这个就是循环体弄错了 ...

知道了懂 谢谢了哥们
作者: 费世福    时间: 2015-8-18 22:41
肖天长 发表于 2015-8-18 22:24
知道了懂 谢谢了哥们

加油,黑马的努力
作者: 肖天长    时间: 2015-8-18 22:44
费世福 发表于 2015-8-18 22:41
加油,黑马的努力

加油!!




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