黑马程序员技术交流社区

标题: 字符串中每个字符出现次数的问题 [打印本页]

作者: 那片天空    时间: 2014-6-28 23:26
标题: 字符串中每个字符出现次数的问题
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+")");
                }
        }
}
我用集合解决的,我记得以前有个不用集合解决的办法,但是想不起来了,求提示!




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