黑马程序员技术交流社区
标题: 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 |