- /*
- 练习:
- “sdfsdfsdfsdfdagdfbgberngier”获取该字符串中的字母出现次数
- 希望打印结果啊a(1)b(2)...
- */
- import java.util.*;
- class MapTest1
- {
- public static void main(String[] args)
- {
- String s="sdfsdfsdfsdfdagdfbgberngier";
- char[] ch=s.toCharArray();
- TreeMap<Character,Integer> tm=new TreeMap<Character,Integer>();
-
- //int count=0;
- for (int i=0; i<ch.length; i++)
- {
- //int value=tm.get(ch[i]);
- // Integer value=tm.get(ch[i]);
- // if(value!=null)
- // count=value;
- // count++;
- // tm.put(ch[i],count);
- // count=0;
-
- if(!tm.containsKey(ch[i]))
- tm.put(ch[i],1);
- else
- {
- //为什么这里写成tm.get(ch[i])+1就可以,写成tm.get(ch[i])++就会编译出错呢?
- tm.put(ch[i],tm.get(ch[i])++);
- /*
- 错误信息:MapTest1.java:35:错误:意外的类型
- tm.put(ch[i],tm.get(ch[i])++);
- */
- }
-
- }
- for (Iterator<Character> it=tm.keySet().iterator(); it.hasNext(); )
- {
- char c=it.next();
- int times=tm.get(c);
- System.out.print(c+"("+times+")");
- }
- }
- }
复制代码
就是代码里标的问题,想不太明白。 |
|