牛客地址:字符串归一化
题目描述:
通过键盘输入一串小写字母(a~z)组成的字符串。
请编写一个字符串归一化程序,统计字符串中相同字符出现的次数,并按字典序输出字符及其出现次数。
例如字符串"babcc"归一化后为"a1b2c2"
代码实现:
{
public static void main(String[] args) {
HashMap<Character, Integer> map = new HashMap<>();
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
for (int i = 0; i < str.length(); i++) {
if (map.get(str.charAt(i)) == null) {
map.put(str.charAt(i), 1);
}else {
map.put(str.charAt(i),map.get(str.charAt(i))+1);
}
}
StringBuilder sb = new StringBuilder();
//遍历HashMap
for (Map.Entry<Character, Integer> entry : map.entrySet()){
sb.append(entry.getKey());
sb.append(entry.getValue());
}
System.out.println(sb.toString());
}
}
很基础的一道HashMap编程题