import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
/**
 * 计算一个字符串中每个字符出现的次数
 * 
 * 思路:
 * 通过toCharArray()拿到一个字符数组-->
 * 遍历数组,将数组元素作为key,数值1作为value存入map容器-->
 * 如果key重复,通过getKey()拿到value,计算value+1后存入
 */
public class Test01 {
    public static void main(String[] args) {
        System.out.println("请输入字符串:");
        Scanner sc=new Scanner(System.in);
        while (sc.hasNextLine()){
            String str=sc.nextLine();
            Map<Character,Integer> map =count(str);
            System.out.println(map);
        }
    }
    public static Map<Character,Integer> count(String str){
        Map<Character,Integer> map=new HashMap<Character,Integer>();
        char[] array_char=str.toCharArray();//把字符串转成字符数组
        for(char  arr_char: array_char){//遍历字符数组
            if(map.containsKey(arr_char)){//查看字符是否在map的key中存在,如果存在
                Integer old=map.get(arr_char);//通过key获取value的值
                map.put(arr_char,old+1);//把字符放入map的key中,value设置为通过key获取value的值+1
            }else{//查看字符是否在map的key中存在,如果不存,把字符放入map的key中,value默认设置为1
                map.put(arr_char,1);
            }
        }
        return  map;
    }
}
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐