黑马程序员技术交流社区
标题:
做了一个老师提供的题,结果弄出来却不是要的那个效果...
[打印本页]
作者:
贾飞雨
时间:
2012-7-9 23:32
标题:
做了一个老师提供的题,结果弄出来却不是要的那个效果...
本帖最后由 yufeiant 于 2012-7-10 00:38 编辑
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
public class Test3 {
// 统计字符串”abadcdffbaeba”中每个字符出现了多少次,按次数排序并输出。
// 例如:c : 1,e : 1,d : 2,f : 2,b : 3,a : 4
// 思路:把这个字符串转化为字符数组,然后便利所有的数组,把每个元素取出,建立一个TreeMap集合对象,把每个元素作为键放入TreeMap
//对象中,如果集合中没有这个元素,那么键值对的值加一并和这个这个元素一起存储到TreeMap集合中,如果有了就不存入这个元素,把所有的
//的元素都都放到集合中,然后把这个集合装换成字符串
public static void main(String[] args) {
String str = "c : 1,e : 1,d : 2,f : 2,b : 3,a : 4";
TreeMap<Character, Integer> tm = gerTreeMap(str);
StringBuffer ss = ToStringTreeMap(tm);
System.out.println(ss);
}
public static TreeMap<Character, Integer> gerTreeMap(String str){
TreeMap<Character, Integer> tr = new TreeMap<Character,Integer>();
char [] arr = str.toCharArray();
for(int x = 0;x<arr.length;x++)
{
char c = arr[x];
Integer i = tr.get(c);
if(!tr.containsKey(c))
{
tr.put(c, 1);
}
else{
i++;
tr.put(c, i);
}
}
return tr;}
public static StringBuffer ToStringTreeMap(TreeMap<Character, Integer> tr)
{
//对集合进行转换,把其转换为字符串,在转换的同时把其他的都吸添加进去
StringBuffer sbf = new StringBuffer();
Set<Map.Entry<Character,Integer>> st = tr.entrySet();
Iterator<Map.Entry<Character,Integer>> it = st.iterator();
while(it.hasNext()){
Map.Entry<Character,Integer> mp = it.next();
Character key = mp.getKey();
Integer value = mp.getValue();
sbf.append(key).append(":").append(value);
}
return sbf;
}
}
运行结果却是这样,当时就崩溃了:121:22:23:14:1::6a:1b:1c:1d:1e:1f:1,:5
作者:
贾飞雨
时间:
2012-7-9 23:57
求帮忙 谢谢
作者:
贾飞雨
时间:
2012-7-10 00:28
哥们问题找到了 ,你们找到了吗???
作者:
王亚男
时间:
2012-7-10 00:31
本帖最后由 王亚男 于 2012-7-10 00:34 编辑
yufeiant 发表于 2012-7-10 00:28
哥们问题找到了 ,你们找到了吗???
String str = "c : 1,e : 1,d : 2,f : 2,b : 3,a : 4";
第一,这个字符串您写错了……应该是传“abadcdffbaeba”吧。。
第二,加个排序方式就行了。
作者:
贾飞雨
时间:
2012-7-10 00:38
呵呵 还有哥们回呢?干嘛要加排序方式啊?
作者:
王亚男
时间:
2012-7-10 00:43
yufeiant 发表于 2012-7-10 00:38
呵呵 还有哥们回呢?干嘛要加排序方式啊?
上面要求不是要按次数排序输出么……
作者:
孙飞
时间:
2012-7-10 00:50
字符串改正解就欧了
作者:
贾飞雨
时间:
2012-7-10 00:52
额 我好2啊
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2