java中怎么统计一个字符串中每个字符的出现次数

 我来答
爱军1978
高粉答主

2018-04-17 · 关注我不会让你失望
知道大有可为答主
回答量:193
采纳率:100%
帮助的人:3.1万
展开全部

操作如下:

String str ="2342asfghgyu56asdasda";Map<String,Integer> maps = new HashMap<String,Integer>();for(int i=0;i<str.length();i++){。

String key = String.valueOf((str.charAt(i)));if(!maps.containsKey(key)),maps.put(key, 1);else{int val =maps.get(key);maps.put(key, val+1);

for(Map.Entry i : maps.entrySet()){System.out.println(i.getKey()+ "=="+i.getValue());

具体方法:

package com.haotj.demo13;import java.util.Map;import java.util.Set;importjava.util.TreeMap;public class Test,public static void main(String[] args),String str。

"asdlkfjlaksdlkjfdsjlkazxcsdklfwuertiopwrljlflsdalxvclzjlksdfljklsdfuiafjdgllfdgdaslfsdjkldskfjdsl"; Map<Character, Integer> map = countChar(str);。

//遍历//1-Set<Character> set = map.keySet();for(Character key : set)System.out.println(key + "=" + map.get(key));//2-//Map中无迭代器,不能如下使用// for(Map.Entry<Character, Integer> me : map)// {// }Set<Map.Entry<Character, Integer>> entrys = map.entrySet();。

for(Map.Entry<Character, Integer> me : entrys)System.out.println("===" + me.getKey() + "=" + me.getValue()/*** 统计一个字符串中,每个字符出现的次数。

* <功能详细描述>* @param str:被统计的字符串,* @return 记录了每个字符及对应该字符出现的次数,* @see [类、类#方法、类#成员]*/public static Map<Character, Integer> countChar(String str)

//用于存放字符及对应次数。TreeMap<Character, Integer> tm = new TreeMap<Character, Integer>();//得到字符串中的每个字符for(int i = 0; i < str.length(); //取得字符串中每个字符,Character ch = str.charAt(i);

//在tm 对象中,判断该字符是否存在,//如果存在,则取得该key 对应的value 值,将value 值加1,再存入该集合对象,//如果不存在,则将该字符及1,存入到tm 中if(!tm.containsKey(ch)),else。

无知的小崽
2020-07-21
知道答主
回答量:3
采纳率:0%
帮助的人:1.6万
展开全部
public static String method(String sc, String s) {
char c = sc.charAt(0);
for(int i=0;i<sc.length();i++){
if(i==sc.length()-1&&sc.charAt(sc.length()-1)==c){
s = s + (i+1) + c;
}
if(i>0&&sc.charAt(i)!=c) {
s = s + i + c;
return method(sc.substring(i), s);
}
}
return s;
}
public static void main(String[] args) {
String sc = new Scanner(System.in).nextLine();
String s = "";
System.out.println(method(sc,s));
}
这样最简单,请笑纳!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
育知同创教育
2016-08-03 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部
String str ="2342asfghgyu56asdasda";
Map<String,Integer> maps = new HashMap<String,Integer>();
for(int i=0;i<str.length();i++){
String key = String.valueOf((str.charAt(i)));
if(!maps.containsKey(key))
maps.put(key, 1);
else{
int val =maps.get(key);
maps.put(key, val+1);
}

}

for(Map.Entry i : maps.entrySet()){
System.out.println(i.getKey()+ "=="+i.getValue());
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式