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是一个变量,++运算的要是一个变量,不是一个定值。 |
|