为什么这个程序的循环超时



它对某些字符串很有效,但由于某些原因,它对最后三个字符串不起作用。我认为输入的字符串类型没有区别,我希望indx的值为-1,但由于某种原因,它对最后三个字符串没有影响。我不明白为什么。编辑:问题已解决。正如你们所说,我在循环中使用str的子字符串,而不是新闻。很抱歉犯了这么简单的错误,伙计们,我才刚刚开始编码,这些都是我需要注意的细节。此外,由于我在codingbat网站上工作,没有调试器,但我也想向其他初学者强烈推荐该网站。它将为您提供许多开始编码的示例问题。再次感谢。在此处输入图像描述代码:

public String stringYak(String str) {
int indx = str.indexOf("yak");
String news =str;
for(;indx!=-1;)
{
news = (str.substring(0,indx) + str.substring(indx+3,str.length()));
indx = news.indexOf("yak");
}
return news;
}

因为循环永远不会中断。

您正在从循环内的news获取str索引中的子字符串。

您可能想要从news中获取子字符串和索引。

最新更新