zoukankan      html  css  js  c++  java
  • 统计字符出现次数

    如何统计字符串中每个字符出现的次数,这类题遇到过很多次,下面就来谢谢解决思路:

    可采用HashMap来解决,HashMap存储的是键值对,即key-value;每个key对应一个value值,利用这个特性,可以将字符看为key,value看做字符出现的次数,这样就可以很好地解决这个问题,下面给出详细代码:

     1 import java.util.HashMap;
     2 import java.util.Iterator;
     3 import java.util.Map;
     4 import java.util.Scanner;
     5 
     6 public class Main {
     7 
     8     public static void main(String[] args) {
     9         
    10         Scanner in = new Scanner(System.in);
    11         
    12        while(in.hasNext()){        //多组输入
    13            
    14            String str = in.next();        //输入字符串
    15            
    16           Map x = Main.getMap(str);        //调用函数
    17          
    18           Iterator<Character> iter = x.keySet().iterator();        //定义Iterator对象
    19 
    20           while (iter.hasNext()) {        //对HashMap对象进行迭代
    21               
    22               Character c = iter.next();
    23 
    24              System.out.println(c+"出现的次数是:"+x.get(c));
    25 
    26           }
    27           
    28        }
    29     }
    30     public static Map<Character,Integer> getMap(String str){    //函数声明 
    31         
    32         Map<Character,Integer> map = new HashMap<Character,Integer>();    //构造map对象
    33         
    34         for(int i=0;i<str.length();i++){    //对字符串进行遍历
    35             
    36             Character ch = str.charAt(i);    //获得字符串中的字符
    37             
    38             Integer count = map.get(ch);    //定义字符出现次数这一变量count
    39             
    40             map.put(ch, count == null? 1:count+1);        //调用HashMap中的put方法,如果字符从未出现过,则count=1,如果字符出现过,则count=count+1
    41         
    42         }
    43         
    44         return map;        //返回map
    45     }
    46     
    47 }

    此种思路可以解决较多类似的问题,可以类比一下。

  • 相关阅读:
    adoQuery对象池
    面向對象囈語
    TDataSetProvider 元件的設定
    Midas的三種調用遠程方法的方式
    線程池
    数据库连接池类
    remobject 簡介
    多層開發注重效率的注意點
    修改的一个导出DataSet到xls的单元
    Git 换行符检查 CRLF 与 LF
  • 原文地址:https://www.cnblogs.com/cppeterpan/p/6985014.html
Copyright © 2011-2022 走看看