编程题目:
9.将字符串”aaabccddf”处理为”a3bc2d2f”,请编写这个程序。
示例代码:
package program.string.exercise09;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
/**
* 9.将字符串"aaabccddf"处理为"a3bc2d2f",请编写这个程序。
*/
public class StringHandle {
public static void main(String[] args) {
String str = "aaabccddf";
handleString(str);
}
private static void handleString(String str) {
StringBuffer sbf = new StringBuffer();
Map<Character, Integer> map = new HashMap<Character, Integer>();
char[] cs = str.toCharArray();
for(int i=0;i<cs.length;i++){
if(map.containsKey(cs[i])){
map.put(cs[i], map.get(cs[i])+1);
}else{
map.put(cs[i], 1);
}
}
Iterator<Character> iterator = map.keySet().iterator();
while (iterator.hasNext()) {
Character key = (Character) iterator.next();
Integer value = map.get(key);
if(value == 1){
sbf.append(key);
}else{
sbf.append(key+""+value);
}
}
System.out.println(sbf);
}
}
结果显示: