今天看到API里的String类,有道题觉得有点意思就是求一个字符串中指定子串出现的次数,原题是这样的
"hanbasdnbafllgnbahjnbakqqqqlnbaxi" 在这个字符串中,多有个nba?
视频中刘意老师的方法是用indexOf(String str)来找到字符串中的第一个nba然后用substring切掉前面的数组,再将后面的重复找nba,再切
这样的方法虽然很百搭,但是我觉得当子字符串已经告诉我们的时候可以有更简单的做法,比如讲nba换成大字符串中没有的#,再将字符串变成字符数组就很好知道其中有几个#了。
代码如下:
public class Findnba {
public static void main(String[] args) {
String s = "hanbasdnbafllgnbahjnbakqqqqlnbaxi";
String s1 = s.replace("nba", "#");
char[] chs = s1.toCharArray();
int count = 0;
for (int i = 0; i < chs.length; i++) {
if (chs[i] == '#') {
count++;
}
}
System.out.println(count);
}
}
|
|