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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 那片天空 中级黑马   /  2014-6-28 23:26  /  662 人查看  /  0 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

import java.util.HashSet;
import java.util.Set;

/**
* 需求:取出一个字符串中字母出现的次数。如:字符串:"abcdekka27qoq" ,输出格式为:a(2)b(1)k(2)...
*/
public class CharSum {
        public static void main(String[] args) {
                String s="abcdekka27qoq";
                //定义个set集合为的是取出串中出现的所以字符不含有重复的
                Set<Character> set=new HashSet<Character>();
                for(int i=0;i<s.length();i++)
                {
                        set.add((Character)s.charAt(i));
                }
                out(set,s);
        }
        private static void out(Set<Character> set, String s) {
                //遍历集合与拿每一个元素与串中的每一个字符比较,如果相同则计数器count加1
       
                for(Character ch:set)
                {
                        int count =0;
                        for(int i=0;i<s.length();i++)
                        {
                                if(((Character)s.charAt(i)).equals(ch))
                                {
                                        count++;
                                }
                        }
                        //每个字符比完一轮输出一次
                        System.out.println(ch+"("+count+")");
                }
        }
}
我用集合解决的,我记得以前有个不用集合解决的办法,但是想不起来了,求提示!

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马