Java的。查找单词或短语方法错误:字符串索引超出范围

时间:2016-11-06 23:24:27

标签: java syntax-error

我正在尝试创建一个findText()方法来查找字符串中的单词或短语。

Enter a word or phrase to be entered: <Timmy>
"Timmy" instances: 2

如果它正常工作我应该得到这个输出:

Exception in thread "main" java.lang.StringIndexOutOfBoundsException:
String index out of range: 0

但是当我运行此代码时,我收到此错误。我使用// FIX ME标记了代码主体中发生错误的位置。

0

我读到这个错误可能是因为字符串&#34;短语&#34;不是至少38个字符,但这仍然无法帮助我修复代码。您是否有任何解决方案可以解决这段代码如何按预期工作,同时避免StringIndexOutOfBoundsException错误?

1 个答案:

答案 0 :(得分:0)

我使用了缓冲读卡器并且必须初始化我。有些功能会为你做这件事。

String usrStr = "There was was once a boy named Timmy. Timmy liked to play in the park.";
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

int matchCntr = 0;
int numInstances = 0;
String phrase = "";
System.out.println("Enter a word or phrase to be found: ");
phrase = br.readLine();

for (int i = 0; i < usrStr.length(); i++)
{
  if (usrStr.charAt(i) == phrase.charAt(matchCntr))
  {  //FIX ME
     matchCntr++;
     if (matchCntr == phrase.length())
     {
       numInstances++;
       matchCntr = 0;
     }
  }
  else
  {
    matchCntr = 0;
  }
}
System.out.println("\"" + phrase.toString() + "\" instances: " + numInstances);