A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 盛亚昆 中级黑马   /  2012-3-21 16:00  /  1501 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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 错误

6 个回复

倒序浏览
tm.put(chs[],value);*-----tm.put(chs[x],value);要加X
回复 使用道具 举报
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);// 数组下标没写
回复 使用道具 举报
StringBuilder sb=new StringBuilder();//能用其他的来接受吗
回复 使用道具 举报
System.out.println("s");哥们儿你的s加引号了
回复 使用道具 举报
哈哈
回复 使用道具 举报
周建 黑马帝 2012-3-21 19:55:25
7#
return sb.toString();//这里为什么不返回sb啊?

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

评分

参与人数 1技术分 +1 收起 理由
老罗 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马