统计字符串中每个字符出现的次数
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); } }
运行结果