黑马程序员技术交流社区

标题: Map集合练习中的问题 [打印本页]

作者: 一帆风顺    时间: 2012-12-14 11:17
标题: Map集合练习中的问题
本帖最后由 王博 于 2012-12-14 17:51 编辑

/*
"asdfgzxcavasdfxavdf"获取该字符中字母出现的次数
希望打印结果a(1)b(2)...
*/
import java.util.*;
class  MapTest3
{
       public static void main(String[] args)
       {
              String s =charCount("asd==fgzxcavasdfxavdf");
              System.out.println(s);
              System.out.println("OVER!");
       }
       public static String charCount(String str)
       {
              char[] ch = str.toCharArray();
              TreeMap<Character,Integer> tm = new TreeMap<Character,Integer>();
              int count=0;
              for (int i=0;i<ch.length ;i++ )
              {
                     if(!(chs[x]>='a' && chs[x]<='z' || chs[x]>='A' && chs[x]<='Z'))          //这里是什么意思啊??
                            continue;                                                                                  //continue是什么啊?毕老师说的太少了,不明白啊,求解答
                     Integer value = tm.get(ch);
                     if (value!=null)
                     {
                            count=value;
                     }
                     count++;
                     tm.put(ch,count);
                     count=0;
              }
              StringBuffer sb = new StringBuffer();
              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 chs=me.getKey();
                     Integer in=me.getValue();
                     sb.append(chs+"("+in+")  ");
              }
              //System.out.println(tm);
              return sb.toString();
       }
}

作者: 蔡汉康    时间: 2012-12-14 11:56
for (int i=0;i<ch.length ;i++ )//for循环体
              {

                     if(!(chs[x]>='a' && chs[x]<='z' || chs[x]>='A' && chs[x]<='Z'))          //因为要在sdfgzxcvasdfxcvdf"获取该字符串中的"字母"出现的次数。只有字母才满足条件
                            continue;                                                //continue是直接结束当前循环,进入下一个循环,作用:如果不是字母就不执行下面计算字母出现的次数的语句

                     Integer value = tm.get(ch);
                     if (value!=null)
                     {
                            count=value;
                     }
                     count++;
                     tm.put(ch,count);
                     count=0;
             }
作者: 马铿    时间: 2012-12-14 11:59
String  s="";
for(int i=1;i<=5;i++){
   if(i==3||i==4)
continue;
s=s+i;
}
System.out.println(s);
你会发现s的输出少了3和4,它的作用就是在循环中继续循环,而不执行本次循环后的语句。
作者: Spring up    时间: 2012-12-14 12:12
                     if(!(chs[x]>='a' && chs[x]<='z' || chs[x]>='A' && chs[x]<='Z'))          //这里是什么意思啊??
                            continue;                                                                                  //continue是什么啊?毕老师说的太少了,不明白啊,求解答
我的理解:
continue:就是跳出本次循环的,继续下一次循环
如果执行到得内容是(!(chs[x]>='a' && chs[x]<='z' || chs[x]>='A' && chs[x]<='Z'))  
那么程序就跳出本次循环,执行下一次循环!
希望能对你有帮助。




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