黑马程序员技术交流社区

标题: 【已解决】热烈庆祝14期开版,发个问题! [打印本页]

作者: 杨锦    时间: 2012-9-2 11:59
标题: 【已解决】热烈庆祝14期开版,发个问题!
本帖最后由 杨锦 于 2012-9-3 15:54 编辑

class  MapDemo  {
        public static void main(String[] args)
        {
                String s= charCount("ak+abAf1c,dCkaAbc-defa");
                System.out.println(s);
        }
        
        public static String charCount(String str) {
                char[] chs = str.toCharArray();

                TreeMap<Character,Integer> tm = new TreeMap<Character,Integer>();

               
                int count = 0;
                for(int x=0; x<chs.length; x++){
                        if(!(chs[x]>='a' && chs[x]<='z' || chs[x]>='A' && chs[x]<='Z'))     // 这行的判断是什么意思
                                contunes;
                        Integer value = tm.get(chs[x]);

                        
                        if(value!=null)
                                count = value;
                        count++;
                        tm.put(chs[x],count);

                        count = 0;
                                      }

                              StringBuilder sb = new StringBuilder();

                Set<Map.Entry<Character,Integer>> entrySet = tm.entrySet();
                Iterator<Map.Entry<Character,Integer>>  it = entrySet.iterator();

                while(it.hasNext())
                {
                        Map.Entry<Character,Integer> me = it.next();
                        Character ch = me.getKey();
                        Integer value = me.getValue();
                        sb.append(ch+"("+value+")");
                }
                return sb.toString();
        }

}



作者: 焦晨光    时间: 2012-9-2 12:01
本帖最后由 焦晨光 于 2012-9-2 12:05 编辑

  if(!(chs[x]>='a' && chs[x]<='z' || chs[x]>='A' && chs[x]<='Z'))     // 这行的判断是什么意思
                                contunes;
判断数组中的元素是否为字符(a~z,A~Z),如果不是,当次循环结束,进入下次循环
这是毕老师视频里的例子吧,给一个字符串,求各个字符在字符串中出现的次数

作者: 王金科    时间: 2012-9-2 12:21
楼上说的对
作者: 张扬123    时间: 2012-9-2 21:22
for(int x=0; x<chs.length; x++){
                        if(!(chs[x]>='a' && chs[x]<='z' || chs[x]>='A' && chs[x]<='Z'))     // 这行的判断是什么意思
                                contunes;
这里就是判断遍历到的元素是否为26个字母大小写中的。
哈哈,杨兄!
作者: 杨锦    时间: 2012-9-3 15:53
张扬123 发表于 2012-9-2 21:22
for(int x=0; x='a' && chs[x]='A' && chs[x]

嘿嘿!!!!!




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