计算给定字符串中每个字符出现的次数,并以指定格式输出,例如aabbbc输出a2b3c1(java语言)

本文介绍了一种计算并输出给定字符串中每个字符出现次数的方法。通过使用TreeMap记录字符及其出现次数,确保了输出格式的有序性。文章详细解释了实现过程,包括初始化映射、遍历字符串、更新字符计数及最终格式化输出。
	/*
	 * 计算给定字符串中每个字符出现的次数,并以指定格式输出,例如aabbbc输出a2b3c1 
	 */
	public String countCharInString(String str){
		Map map = new TreeMap();//记录遍历字符串的结果,key表示出现的字符,value表示该字符出现的次数。
		for(int i=0;i<str.length();i++){
			char ch = str.charAt(i);
			if(map.containsKey(ch)){//将字符串中的字符依次与map集合中的key值比较,如果集合中还没有此字符的键,就在map集合中添加该键,并将其值设为1。  
				map.put(ch, 1);
			}else{
				map.put(ch, (int)map.get(ch)+1);//否则value的值加1。
			}
		}
		StringBuilder sb = new StringBuilder();
		Set set = map.keySet();
		for(Object key: set){
			sb.append(key.toString()+map.get(key));
		}
		return sb.toString();
	}

逆转裁判R7-1 逆转裁判3 分数 8 作者 张引 单位 浙江大学 <成步堂 龙一>是一名律师。在法庭开庭时,他需要出示手中的证物来击破他的老对手,检察官<御剑 怜侍>询问的各个疑点, 以此证明委托人(被告)的清白。 检察官御剑有一张询问清单s1, 代表所有的质询,s1一个长度不超过200的字符串每个字符代表一个质询。 成步堂手上只有证物清单s2, s2一个长度不超过3字符串每个字符代表一个证物。 已知,与证物清单字符相同的的质询会被击破,一件证物可以使用多次。 显然,成步堂已经陷入走投无路的地步。幸运的是,他可以向自己的老师<绫里 千寻>求助,千寻可以向他提供一件他想要的额外的证物, 但是只有一件。 请问,成步堂能否击破检察官提出的所有质询? 输入格式: 第一行是一个字符串s1,代表每个质询。 保证0<s1长度<200。 第二行是一个字符串s2,代表证物清单。 保证0<= s2长度<3输出格式: 输出共一行。若能完成大逆转(将所有质询击破),输出 "Objection!"; 否则,输出检查官能剩余的最少质询数量。 输入样例1: aaaaabbbbbcccccdd abc 输出样例1: Objection! 输入样例2: aaaabbbbbccccccc (空行) 输出样例2: 9 输出样例2解释: 成步堂手中没有证物,因此需要向千寻老师索要证物&#39;c&#39;,剩余质询长度才能最短,为5+4=9. 代码长度限制
04-21
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值