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

package LESSON11;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Scanner;
public class exercise1 {
    /**
    使用Scanner从控制台读取一个字符串,统计字符串中每个字符出现的次数
     */
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一个字符串");
        String str=sc.nextLine();
        char ch[]=str.toCharArray();
        HashMap<Character, Integer> map=new HashMap();
//        for (int i = 0; i < ch.length; i++) { 
//            int count=1;
//            for (int j = i+1; j < ch.length; j++) {
//                if(ch[i]==ch[j]){
//                    count++;    //这样写最后相同的键的值会被覆盖,所有的value都为1            
//                }    
//                
//            }
//            map.put(ch[i], count);        
//        }    
        //abcda
        int num=0;
        for (int i = 0; i < ch.length; i++) {
            if(!map.containsKey(ch[i])){//判断集合中是否不包含某个字符
                num=1;                
            }else{
                num=map.get(ch[i]);//获取该字符已经出现的次数
                num++;                                
            }
            map.put(ch[i], num);//每次循环都会存储到map集合中            
        }
        System.out.println(map);                                                                                        
    }
}

运行结果

posted @ 2019-06-21 22:12  勤奋的园  阅读(5978)  评论(0编辑  收藏  举报