zoukankan      html  css  js  c++  java
  • 计算一个字符串中每个字符出现的次数

    package com.itcast;

    import java.util.HashMap;
    import java.util.Map;
    import java.util.Scanner;
    import java.util.Set;

    /**
    * @author newcityman
    * @date 2019/7/20 - 22:14s
    * 要求:计算一个字符串中每个字符出现的次数
    * 分析:
    * 1、使用Scanner获取用户输入的字符串
    * 2、创建Map集合,key是字符串的字符,value是字符出现的次数
    * 3、遍历字符串,获取每一字符
    * 4、使用获取到的字符,去Map集合判断Key是否存在,
    * key存在:
    * 通过字符(key),获取value(字符个数)
    * value++
    * put(key,value)把新的value存储到Map集合中
    * key不存在
    * put(key,1)
    */
    public class Demo03MapTest {
    public static void main(String[] args) {
    //1、准备一个字符串。
    System.out.println("请输入一个串字符:");
    Scanner sc = new Scanner(System.in);
    String str = sc.next();
    //2、创建Map集合,key是字符串的字符,value是字符出现的次数
    Map<Character ,Integer> map = new HashMap<>();
    //3、处理str字符串,转换成字符数组
    char[] chars = str.toCharArray();
    //遍历数组
    for (char aChar : chars) {
    //4、到map集合中找aChar,如果集合中已经存在该字符串,就使该字符串的value++,
    // 然后把增加后的value重新复制给集合
    //如果不存在,就直接put(key,1)
    if(map.containsKey(aChar)){
    Integer num = map.get(aChar);
    num++;
    map.put(aChar,num);
    }else{
    map.put(aChar,1);
    }
    }
    /*System.out.println(map);*/
    //5、遍历Map集合,输出结果
    Set<Character> set = map.keySet();
    for (Character character : set) {
    Integer values = map.get(character);
    System.out.println(character+"字符的个数是:"+values);
    }
    }
    }
  • 相关阅读:
    背包问题
    计蒜客lev3
    线段树BIT操作总结
    图论题收集
    Codeforces Round #607 (Div. 2) 训练总结及A-F题解
    2-sat 学习笔记
    洛谷 P3338 【ZJOI2014】力/BZOJ 3527 力 题解
    $noi.ac$ #51 array 题解
    洛谷 P3292 【SCOI2016】幸运数字/BZOJ 4568 幸运数字 题解
    洛谷 P5283 【十二省联考2019】异或粽子 题解
  • 原文地址:https://www.cnblogs.com/newcityboy/p/11219727.html
Copyright © 2011-2022 走看看