Chatbot方法在Java中停滞不前

时间:2014-11-22 03:53:34

标签: java loops chatbot

我正在编写一个简单的聊天机器人,我的方法似乎陷入了循环。 以下是方法,我怀疑while循环有问题,但我无法找到我搞砸的地方。除了卡住循环之外,编译和运行没有问题。

下面的循环包含一个完整的字符串,语句,特定关键字的循环,目标,以及在startPos中查看字符串的开始

private int findKeyword(String statement, String goal, int startPos)
{
  String phrase = statement.trim();
  int psn = phrase.toLowerCase().indexOf(goal.toLowerCase(), startPos);

  while (psn >= 0)
  {
    String before = " ", after = " ";
    if (psn > 0)
    {
      before = phrase.substring(psn-1, psn).toLowerCase();
    }
     if (psn + goal.length() < phrase.length())
    {
      after = phrase.substring(psn + goal.length(), psn + goal.length() + 1).toLowerCase();
    }

    if (((before.compareTo("a") < 0) || (before.compareTo("z") > 0)) && ((after.compareTo("a") < 0) || after.compareTo("z") > 0))
    {
      return psn;
    }

    psn = phrase.indexOf(goal.toLowerCase(), psn + 1);
  }
  return -1;
}

1 个答案:

答案 0 :(得分:0)

psn = phrase.indexOf(goal.toLowerCase(),psn + 1);

永远不会丰富到(psn&lt; 0)问题