- package com.itheima_1;
- import java.util.Iterator;
- import java.util.Map;
- import java.util.TreeMap;
- /*
- * “fdqavcbsacdfs”获取该字符串中,每一个字母出现的次数。
- * 要求打印结果是:a(2)b(1)...;
- */
- public class MapDemo {
- public static void main(String[] args) {
- //定义一个字符串
- String s = "fdqavcbsacdfs";
- //转换成字符数组
- char[] chs= s.toCharArray();
-
- //创建map集合对象
- Map<Character, Integer> map = new TreeMap<>();
-
- for(int i=0;i<chs.length;i++){
- if(!(chs[i]>'a'&&chs[i]<'z' || chs[i]>'A'&&chs[i]<'Z')){
- continue;
-
- //将数组中的字母作为键去查map表
- Integer value = map.get(chs[i]);
-
- int count=0;
- //判断是否为空
- if(value!=null){
- count = value;
- }
- count++;
-
- map.put(chs[i], count);
- }
- }
-
- //创建迭代器对象
- Iterator<Character> it = map.keySet().iterator();
- //集合变量
- while(it.hasNext()){
- Character key = it.next();
- Integer value = map.get(key);
- System.out.println(key+"("+value+")");
- }
- }
- }
复制代码
这样写,上面for循环里面的Integer value = map.get(chs); 会报错,求解答 |
|