黑马程序员技术交流社区
标题:
这道题怎么控制字符串角标越界
[打印本页]
作者:
android-liu
时间:
2015-3-11 19:31
标题:
这道题怎么控制字符串角标越界
package com.xiangying;
public class Day12_11 {
/**
*获取长字符串中的子串
*例如:
查找下面字符串中总共有几个java
*dgjoiwjavafaogoujojlajfljjavalajooujjavakhoiyuehiyy1234java;
*/
public static void main(String[] args) {
int count=getCount("dgjoiwjavafaogoujojlajfljjavalajooujjavakhoiyuehiyy1234java","java");
System.out.println(count);
}
//定义一个方法,传入任意字符串,和要查找的字子符串,返回此字符串在字符串中个数;
public static int getCount(String str,String subStr){
int count =0;
int index=0;
while(index!=-1){
index=str.indexOf("java");
int start=index+subStr.length();//把找到的子串位置+子串长度作为下一个开始位
str=str.substring(start);//截取后面的串
count++;
}
return count;
}
}
复制代码
作者:
wf111sxwf
时间:
2015-3-12 00:04
int start <=str.length
作者:
Zoe-
时间:
2015-3-12 00:20
最快的方法就是在里面加个判断条件,如下:
while(index!=-1){
index=str.indexOf("java");
if(index!=-1){
int start=index+subStr.length();//把找到的子串位置+子串长度作为下一个开始位
str=str.substring(start);//截取后面的串
count++;
}
}
作者:
关山明月
时间:
2015-3-12 09:19
楼上正解,用双重判断
作者:
冯林01
时间:
2015-3-12 10:02
好深奥,看不懂。
两个数组比较,遍历数组1,比较数组2首字符,若相同比较数组2的第二个字符。(刚看过循环,给出的思路,求证各位大神)
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2