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);
    }
    }
    }
  • 相关阅读:
    python中enumerate用法
    python中实现列表元素的永久反转和临时反转
    python中利用循环结构求最大值、最小值、统计元素次数
    python中实现列表中指定元素保留唯一
    c语言中if嵌套
    python中判断列表是否为空
    c语言中避免else悬挂
    python中if条件分支
    ????
    面向对象编程:Java中的抽象数据类型
  • 原文地址:https://www.cnblogs.com/newcityboy/p/11219727.html
Copyright © 2011-2022 走看看