计算一个字符串中每个字符出现的次数

mac2022-06-30  22

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); } }}

转载于:https://www.cnblogs.com/newcityboy/p/11219727.html

最新回复(0)