(求助)一个简单的JAVA小程序调试

来源:百度知道 编辑:UC知道 时间:2024/07/01 06:51:14
(写本代码的意图是打印出来“sun”在字符串中出现的次数)可以编译,但运行起来说是超出什么范围的错误,我刚开始学JAVA,搞了好久也解决不了。请高手帮忙调试一下,谢谢!代码如下:
public class TestString
{
public static void main(String[] args)
{
String str="sunjavahpjavaok";
String sToFind="java";

int count=0;
int index=-1;
index=str.indexOf(sToFind);

while(index!=-1)
{
str=str.substring(index+sToFind.length());
count++;
}

System.out.print(count);
}
}

public class TestString
{
public static void main(String[] args)
{
String str="javasunjavahpjavaok";
String sToFind="java";

int count=0;
int index=-1;
index=str.indexOf(sToFind);
while(index!=-1)
{
count++;
str=str.substring(index+sToFind.length());
index=str.indexOf(sToFind);
}

System.out.print(count);
}
}

哥们,我建议你使用正则表达式ok
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Sun {
public static void main(String[] args) {
Pattern pattern = Pattern.compile("sun",Pattern.CASE_INSENSITIVE);//不区分大小写哦
Matcher matcher = pattern.matcher("sundsgfdgsundgdfg435sun25&*sun");
int count = 0;
while(matcher.find()){
count++;
}
System.out.println("包含Sun字母的个数:"+count);
}
}<