黑马程序员技术交流社区
标题:
一个小问题有点不懂
[打印本页]
作者:
杨彪
时间:
2012-8-15 21:14
标题:
一个小问题有点不懂
"nbasdnbafllgnbahjnbakqqqqlnba" 在这个字符串中,多有个nba.
public class StringTest {
public static void main(String[] args) {
String bigString = "nbasdnbafllgnbahjnbakqqqqlnba";
String smallString = "nba";
int count = searchCount(bigString, smallString);
System.out.println(count);
}
public static int searchCount(String bigString, String smallString) {
int count = 0;
int index = bigString.indexOf(smallString);
while (index != -1) {
count++;
bigString = bigString.substring(index + smallString.length());//这为什么还用index+ smallString.length()
index = bigString.indexOf(smallString);
}
return count;
}
复制代码
代码还是有点不明白,求具体!!!谢谢啦
作者:
方志亮
时间:
2012-8-15 21:17
String substring(int beginIndex)
返回一个新的字符串,它是此字符串的一个子字符串。
未命名.jpg
(34.85 KB, 下载次数: 12)
下载附件
2012-8-15 21:17 上传
作者:
黄树人
时间:
2012-8-15 23:22
public class StringTest {
public static void main(String[] args) {
String bigString = "nbasdnbafllgnbahjnbakqqqqlnba";
String smallString = "nba";
int count = searchCount(bigString, smallString);
System.out.println(count);
}
public static int searchCount(String bigString, String smallString) {
int count = 0; // 定义统计变量count,并致零,用于存放字符串"nba"在"nbasdnbafllgnbahjnbakqqqqlnba"粗线的次数
int index = bigString.indexOf(smallString); // 调用indexof方法查找,定义小字符串第一次出现在大字符串中的索引值
while (index != -1) { //当index不为-1,说明小字符串在大字符窜中,进入while循环开始查找,为-1说明不在大字符窜中,直接返回count
count++; //count记录小字符串出现的吃树
bigString = bigString.substring(index + smallString.length()); // 每次查找到,就从新生成一次大字符窜,新字符串就是原字符串截去小字符串(包括小字符串前面的)剩下的
index = bigString.indexOf(smallString); // 由于大字符窜变化了,将小字符串出现在新字符串的索引值从新赋给index
}
return count;
}
复制代码
你熟悉下indexof()和substring(int beginIndex) 的方法应该就很容易明白了
作者:
杨彪
时间:
2012-8-15 23:24
问题已解决
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2