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+")");
}
}
}
我用集合解决的,我记得以前有个不用集合解决的办法,但是想不起来了,求提示! |
|