本帖最后由 一顿一只牛 于 2014-8-10 20:28 编辑
import java.util.Iterator;
import java.util.Set;
import java.util.TreeMap;
/*
* 判断字符串中出现的次数。(映射关系)
* 如“ahfuiegnabguegad”每个字母出现的次数。
*
* 1 把字符串转换成字符数组操作
* 2 定义map容器,因为有顺序,所以采用TreeMap
* 3 遍历字母出现次数
* 4 输出
*
* */
public class Tree2 {
public static void main(String[] args){
String s = strCount("adfhdufienvbeuihvdanvuehfec huehvianebv");
System.out.println(s);
}
public static String strCount(String str){
//将字符串转化成字符数组,以便于操作
char[] chs = str.toCharArray();
TreeMap<Character,Integer> tm = new TreeMap<Character,Integer>();
//遍历,算出每个字符串出现的次数。
for(int x=0; x<=chs.length; x++){
if(!(chs[x]>="a" && chs[x]<="z" || chs[x]>="A" && chs[x]<="Z"));
continue;
Integer value = tm.get(chs[x]);
if(value == null){
tm.put(chs[x], 1);
}
else {
value = value + 1;
tm.put(chs[x], value);
}
}
//创建StringBuilder对象,进行存储。
StringBuilder sb = new StringBuilder();
//取出TreeMap集合中的存储的键值对。
Set<Character> keySet = tm.keySet();
Iterator<Character> it = keySet.iterator();
while(it.hasNext()){
Character ch = it.next();
Integer value = tm.get(ch);
sb.append(ch+"("+value+"");
}
return sb.toString();
}
}
求大神们指导, 这代码哪出错了呀。 |