A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© shdosh 中级黑马   /  2015-8-26 22:24  /  224 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

        public static void charNum(String str){
                char[] arr = str.toCharArray();

                TreeMap<Character,Integer> numMap = new TreeMap<Character,Integer>();
               
                for(int i =0; i<arr.length; i++){
                        if(!((arr[i]>='a'&& arr[i]<='z')||(arr[i]>='A' && arr[i]<='Z')))
                                continue;
                        if(numMap.get(arr[i])==null)
                                numMap.put(arr[i],1);
                        else{
                                Integer value = numMap.get(arr[i]);
                                value++;
                                numMap.put(arr[i],value);
                        }
                               
                       
                }

                Set<Character> setNum = numMap.keySet();

                Iterator<Character> it = setNum.iterator();

                while(it.hasNext()){
                        char ch = it.next();
                        System.out.println(ch+"("+numMap.get(ch)+")");
                }

        }

关于numMap.get(arr[i])++。一开始我试了下会出错,而Integer i =1;i++;却没事。我看了错误信息,想了半天,才知道,get返回的是一个值,而i是一个变量,++运算的要是一个变量,不是一个定值。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马