java中如何统计某个字母在一个字符串中出现了多少次啊

如题所述

1、根据length获取字符串长度

String s = "abcdedfae";//定义一个字符串
int len = s.length();//获取原来的字符串长度

2、通过replaceAll方式,把字符串中该字母替换成空

String s1 = s.replaceAll(要统计的字母,"");

3、获取替换后的字符串长度

int len2 = s1.length();

4、原来的字符串长度减去替换后的字符串长度就是该字母出现的次数

int lenTimes = len1-len2;//出现的次数

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-15
Java codepublicclassStrPlus{publicstaticvoidmain(String[] args) {intintChar[]=newint[26];//记录可能出现的26个小写字母每个出现的次数String str="abstacta";intcount=0;//count记记录某个字母出现了多少次for(inti=0;i<str.length();i++){count=++intChar[str.charAt(i)-97];//某个字母出现一次就增加一次出现的结果是这样的:本回答被提问者采纳
第2个回答  2021-10-18
//=================单个字符串 ================

/**
* 统计出现次数
*
* @param value 字符串
* @param c 需要统计的字符
* @return
*/
public int appear(String value, char c) {
if (isEmpty(value)) {
return 0;
}
int sum = 0;
for (int i = 0; i < value.length(); i++) {
if (value.charAt(i) == c) {
sum++;
}
}
return sum;
}

//====================多个字符串===============
/**
* 统计出现的次数, 已经计算过的位置 不在进行计算, 比如说 "AAAA"=> "AA" = 2 ,并不会返回 3,
*
* @param value 给定字符串
* @param app 需要统计的字符串
* @return 返回统计数量, 字符串都为空串,也会返回 0,而不是1, 参数任何一方不可用 都会返回0
*/
public int appear(String value, String app) {
if(isEmpty(app)||isEmpty(value)) {
return 0;
}
int sum=0;
int index=0;
while ((index = value.indexOf(app, index)) != -1) {
index+= app.length();
sum++;
}
return sum;
}
相似回答