黑马程序员技术交流社区

标题: map问题 [打印本页]

作者: 盛亚昆    时间: 2012-3-21 16:00
标题: map问题
import java.util.*;
class  MapTest3
{
        public static void main(String[] args)
        {
               
                String s=charCount("dsahdjajdfdfgdh");

               
                System.out.println("s");
        }
        public static String charCount(String str)//接受字符串
        {
                char[] chs=str.toCharArray();//这里是怎么理解啊????       
               
                TreeMap<Character,Integer> tm=new TreeMap<Character,Integer>();//Character换成String行吗??
       
                        for (int x=0;x<chs.length ;x++ )
                        {
                                Integer value=tm.get(chs[x]);//通过键获取值

                                if (value==null)
                                {
                                        tm.put(chs[x],1);
                                }
                                else
                                {
                                        value = value+1;
                                        tm.put(chs[],value);//怎么出错了啊 ???
                                }

                        }
                       
                       
                        StringBuilder sb=new StringBuilder();//都什么时候应用这个缓冲区啊??

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

                        Iterator<Map.Entry<Character,Integer>> it=entrySet.it.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();//这里为什么不返回sb啊?



        }
       
       
       
}
错误
MapTest3.java:56: 需要 ".class"
                                        tm.put(chs[],value);
                                                    ^
1 错误

作者: 盛亚昆    时间: 2012-3-21 16:07
tm.put(chs[],value);*-----tm.put(chs[x],value);要加X

作者: 尹震    时间: 2012-3-21 16:11
char[] chs=str.toCharArray();//把字符串转换为字符数组
TreeMap<Character,Integer> tm=new TreeMap<Character,Integer>();//Character 指的是 char 的包装类 和Integer 是 int的包装类一样
StringBuilder sb=new StringBuilder();//一个可变的字符序列。此类提供一个与 StringBuffer 兼容的 API,但不保证同步。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比 StringBuffer 要快。
tm.put(chs[],value);// 数组下标没写
作者: 盛亚昆    时间: 2012-3-21 16:13
StringBuilder sb=new StringBuilder();//能用其他的来接受吗
作者: 田斌    时间: 2012-3-21 16:23
System.out.println("s");哥们儿你的s加引号了
作者: 盛亚昆    时间: 2012-3-21 16:35
哈哈

作者: 周建    时间: 2012-3-21 19:55
return sb.toString();//这里为什么不返回sb啊?

这里可以返回sb    toString()是默认调用的




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