本帖最后由 黑马-王燚 于 2012-10-5 00:35 编辑
取出一个字符串中字母出现的次数。如:字符串:"abcdekka27qoq" ,输出格式为:a(2)b(1)k(2)...
老毕貌似用的是TreeMap做的,我这里自己有一个方法 是用数组做的 。贴出来大家分享分享,自我感觉我的方法还是很不错的 ,有扩展性呢,嘿嘿。- import java.io.*;
- public class Test4
- {
- /** 取出一个字符串中字母出现的次数。如:字符串:"abcdekka27qoq" ,
- * 输出格式为:a(2)b(1)k(2)...
- *
- * @param args
- */
- public static void main(String[] args) throws Exception
- {
- // TODO 自动生成的方法存根
- InputStreamReader isr=new InputStreamReader(System.in);
- BufferedReader br=new BufferedReader(isr);
- sop("请输入一个字符串:");
- String s=br.readLine();
- sop(s);
- sop(countCharacter(s));
- }
- public static void sop(Object obj)
- {
- System.out.println(obj);
- }
- public static String countCharacter(String s)
- {
- int count[]=new int[127];//统计每一个字符出现的次数
- for (int i = 0; i < s.length(); i++)
- {
- count[(int)s.charAt(i)]++;
- }
- String result="";
-
- //输出 这里的K改成从0开始 就能连数字也一起统计了,其实是统计所有的ASCII码
- for (int k = 65; k < count.length; k++)
- {
- if(count[k]!=0)
- {
- //比如a是97 那就直接输入97
- result=result+(char)k+"("+count[k]+")"; //按格式输出 a(2)
- }
- }
- return result;
- }
- }
复制代码 |