黑马程序员技术交流社区
标题:
统计出字符串中字母和数字出现的次数
[打印本页]
作者:
kangnam
时间:
2016-9-17 22:26
标题:
统计出字符串中字母和数字出现的次数
/* 键盘录入一段字符串,要求使用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);
}
}
作者:
Zzh94520
时间:
2016-9-17 22:33
6666666666666666666
作者:
jianghaiyan
时间:
2016-10-21 23:31
”如果有其他字符则当做 * 号来统计”但是这个功能没有实现
作者:
jianghaiyan
时间:
2016-10-21 23:32
”如果有其他字符则当做 * 号来统计”但是这个功能没有实现
作者:
Jerry007
时间:
2016-10-21 23:37
拼接的时候好像缺少了逗号吧
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2