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

取出一个字符串中字母出现的次数。如:字符串:"abcdekka27qoq" ,输出格式为:a(2)b(1)k(2)...
======================================================
  1. package com.heima.test_kaoshi;

  2. import java.util.TreeMap;

  3. public class Test1 {

  4.         /**
  5.          * 1、 取出一个字符串中字母出现的次数。如:字符串:"abcdekka27qoq" ,输出格式为:a(2)b(1)k(2)...
  6.          *
  7.          *分析:
  8.          *        遍历字符串,并将各个字母添加到双列集合,如果不存在,赋值1.存在就加1
  9.          *
  10.          *
  11.          */
  12.         public static void main(String[] args) {
  13.                 //遍历字符串
  14.                 String s = "abcdekka27qoq";
  15.                 char[] ch = s.toCharArray();
  16.                 TreeMap<Character, Integer> tm = new TreeMap<>();
  17.                 for (char c : ch) {
  18.                         if(!tm.containsKey(c)){
  19.                                 tm.put(c, 1);
  20.                         }else{
  21.                                 tm.put(c, tm.get(c)+1);
  22.                         }
  23.                 }
  24.                 for(Character c : tm.keySet()){
  25.                         if(c>='A' && c<='z'){
  26.                                 System.out.println(c+"("+tm.get(c)+")");
  27.                         }
  28.                 }
  29.                
  30.         }

  31. }
复制代码

1 个回复

倒序浏览
采用双列集合做的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马