一、算法题
题目:如何统计一个字符串中某个字符的个数?
二、两种思路
对于这道题,我想到了两种思路。
思路一: 把字符串拆分成各个字符,使用循环和条件语句来统计某个字符出现的个数。
思路二: 无需拆分,把要统计的那个字符替换为空字符,并计算替换前和替换后的字符串的长度之差。
话不多说,直接上代码。
思路一实例代码:
package cn.yydy.demo;
public class CharNumber {
public static void main(String[] args) {
String str = "HelloJava";
char a = 'a';
int num = 0;
char[] chars = str.toCharArray();
for (char c : chars){
if (c == a)
num++;
}
System.out.println("字符" + a + "的个数:" + num);
}
}
运行结果:
字符a的个数:2
实例分析:调用了toCharArray()
方法,该方法的作用是将源字符串转换成一个char
类型的数组。再把得到的数组遍历,如果满足条件c == a
的话,用num++
进行计数,最终num
的值就是字符串HelloJava
中a
字符的个数。
思路二实例代码:
package cn.yydy.demo;
public class CharNumber {
public static void main(String[] args) {
String str = "HelloJava";
String a = "a";
int num = 0;
String newStr = str.replaceAll(a,""); //""中间不加空格
num = str.length() - newStr.length();
System.out.println("字符" + a + "的个数:" + num);
}
}
运行结果:
字符a的个数:2
实例分析:调用了replaceAll(String regex,String replacement)
方法,该方法的作用是将源字符串中的某个字符替换成另一个字符(或替换成空字符)。
通过该方法,将字符串a
替换成空字符,再用原始字符串的长度str.length()
减去替换后字符串的长度newStr.length()
,最终num
的值就是字符串HelloJava
中a
字符的个数。
三、总结
如果觉得还不错的话,就送我一个赞吧!如果本文对你有用的话,也欢迎收藏哦!