package com.cdu.dj.mystring; import java.util.HashMap; import java.util.HashSet; import java.util.Map.Entry; import java.util.Scanner; import java.util.Set; public class Test { /** * * 输入字符串判断出现的字符个数 * @param args */ public static void main(String[] args) { /** * 使用双重for循环 */ // Scanner scan = new Scanner(System.in); // String str = scan.next(); // // // char [] charArray = str.toCharArray(); // for(int i =0 ;i<charArray.length;i++){ // char e = charArray[i]; // int num =0; // //adsdadaa // if(str.substring(0, i).indexOf(e)<0){ // for(int j =i;j<charArray.length;j++){ // // if(str.charAt(j)==e){ // num++; // } // } // System.out.println(e+"---"+num); // } // } /** * 使用双重HashSet查询字符串中的字符个数 * */ // Scanner scan = new Scanner(System.in); // String str = scan.next(); // char [] charArray = str.toCharArray(); // // HashSet<Character> set = new HashSet<>(); // // // for(Character c :charArray){ // set.add(c); // } // for (Character d : set) { // int a =0; // for(Character c :charArray){ // if(c==d){ // a++; // } // } // System.out.println(d+"-"+a); // // } /** * * 使用Map进行 */ Scanner scan = new Scanner(System.in); String str = scan.next(); char [] charArray = str.toCharArray(); HashMap<Character,Integer> map= new HashMap<>(); for (char c : charArray) { if(map.containsKey(c)){ Integer value = map.get(c); map.put(c,++ value); }else{ map.put(c, 1); } } //遍历 Set<Entry<Character, Integer>> entrySet = map.entrySet(); for (Entry<Character, Integer> entry : entrySet) { Character key = entry.getKey(); Integer value = entry.getValue(); System.out.println(key+"---"+value); } } }