杀鸡用牛刀,不合适的

2016-06-18  本文已影响90人  looper1211

题目:取出一个字符串中字母出现的次数。如:字符串:"abcdekka27qoq" ,输出格式为:a(2)b(1)k(2)...

其实这个题目和我出的统计每道题的错误个数是一个解法。
题目取自黑马程序员论坛,在论坛上很多这个题目解法都是千篇一律的集合、set、map去解决,咱们班同学给我的代码也不例外,其实没有那么复杂,数组就搞定了,通过查找ASCII码表,A-Z 65-90 a-z 97-122既然只要字母的数量,直接统计就行了,所以可以通过数组下标做标记的方式去解决这个问题:很多时候,我觉得解决问题,需要的是一种思想,代码越简单越容易解决问题。

/**
* 统计字母出现的个数,并按字典顺序输出指定格式
* @author Looper
*
*/
public class Test {
   
   public static void main(String[] args) {
       String str = "abcdekka27qoq";
       char[] buf = str.toCharArray();
       int[] num = new int[123];
       for (int i = 0; i < buf.length; i++) {
           num[buf[i]]++;
       }
       for (int i = 0; i < num.length; i++) {
           if ((i >= 65 && i <= 90) || (i >= 97 && i <= 122)) {
               if (num[i] > 0) {
                   System.out.print((char) i + "(" + num[i] + ")");
               }
           }
       }
   }

}
上一篇 下一篇

猜你喜欢

热点阅读