/* 键盘录入一段字符串,要求使用map集合统计出字符串中字母和数字出现的次数,如果有其他字符则当做
* 号来统计,最后按指定方式输出(不要求排序)
* 例如录入字符串:aaaabbbcccddd1112233^^^
* 输出的格式为: *(3),1(3),2(2),3(2),a(4),b(3),c(3),d(3) (注意:括号前面是字符,里面是次数)
1,创建键盘录入对象
2,创建出map集合
3,使用map集合开始添加元素
4,遍历和拼接字符串
5,输出拼接后的字符串
*/
public class Test4 {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
System.out.println("输入一段字符串:");
String line =sc.nextLine();
char[] ch =line.toCharArray();
TreeMap<Character,Integer> map =new TreeMap<>();
for (int i = 0; i <ch.length; i++) {
if(!map.containsKey(ch[i])){
map.put(ch[i], 1);
}else{
map.put(ch[i], map.get(ch[i])+1);
}
}
//遍历和拼接字符串
Set<Character> set =map.keySet();
StringBuilder sb =new StringBuilder();
for (Character s:set) {
sb.append(s).append("(").append(map.get(s)).append(")");
}
System.out.println(sb);
}
}
|
|