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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

/*练习:
"sdfgzxcvasdfxcvdf"获取该字符串中的字母出现的次数。
希望打印结果:a(1)c(2).....
*/
import java.util.*;
class  Test1
{
        public static void main(String[] args)
        {
                String str="sdfgzxcvasdfxcvdf";
                char[] ch=str.toCharArray();
                TreeMap<Character,Integer> tm=new TreeMap<Character,Integer>();

                for (int i=0;i<ch.length ;i++ )
                {
                        if (tm.containsKey(ch[i]))
                        {
                                tm.put(ch[i],(tm.get(ch[1])+1));
                        }
                        else
                        {
                                tm.put(ch[i],1);
                        }
                }
                Set<Character> set=tm.keySet();
                Iterator<Character> it= set.iterator();
                while (it.hasNext())
                {
                        char c=it.next();
                        int i=tm.get(c);
                        System.out.print(c+"["+i+"]");
                }
               
        }
}

图片1.png (1.55 KB, 下载次数: 21)

图片1.png

3 个回复

倒序浏览
for循环里面,写错了一句。ch[i],不是ch[1].
回复 使用道具 举报
1017161726 发表于 2015-5-4 07:39
for循环里面,写错了一句。ch,不是ch[1].

哎,总是这种低级的错误,无语了。
回复 使用道具 举报
尘埃123 发表于 2015-5-4 07:53
哎,总是这种低级的错误,无语了。

相信你会有不犯错的时候
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马