方法:
1.键盘输入一个字符串
2.创建HashMap集合:键是Character,值是Interger
3.遍历字符串,抽取每一个字符
4.拿到的每一个字符作为键,到HashMap中找对应的值,看其返回值
①如果返回null,说明map中之前没有存入这个字符。将这个字符作为键,值设为1。
②如果返回不是null,说明map中之前有过了。将对应的值加1,然后重新存入这个键值对。
5.遍历Hashmap集合。
代码:
import java.util.HashMap;import java.util.Map;import java.util.Scanner;import java.util.Set;public class Scancharactor {public static void main(String[] args){//输入字符串,存入lineScanner scopr = new Scanner(System.in);String line = scopr.nextLine();//创建HashMap:取名为hsmHashMap<Character,Integer> hsm = new HashMap<Character,Integer>();//遍历字符串for(int i=0; i<line.length(); i++){char key = line.charAt(i); //第i位置的字符提取出来,暂存在key中if(hsm.get(key) == null){//当前不存在key这个字符hsm.put(key, 1);}else{//当前存在key这个字符hsm.put(key,hsm.get(key)+1);} }//遍历mapSet<Map.Entry<Character,Integer>> entryset = hsm.entrySet();for(Map.Entry<Character,Integer> cp : entryset){Character key = cp.getKey();Integer value = cp.getValue();System.out.println("字符"+key+":"+value+"个");}}}
测试: