我已经一遍又一遍地检查了这段代码,但看不出这是在哪里发生的,它不会每次都发生,只有当我运行帖子两次时才会发生,但我尝试通过评论依次摆脱这些代码它们仍然会给出错误,但是如果我去掉这两个代码,我的代码工作正常,但它们是必要的,而且它们之前确实工作过。如有任何帮助,我们将不胜感激。
if(lines[i].length() > 10)
{
if(lines[i].charAt(4) == '-' && lines[i+1].charAt(4) == '-')
{
lines[i] = "\nComment";
}
}
if(lines[i].length() > 10)
{
if(lines[i].charAt(4) == '-' && lines[i+1].charAt(4) != '-' && !lines[i-1].equals("\nComment"))
{
lines[i] = "\nPost";
}
}
最佳答案
你的代码没有检查
lines[i+1]
存在,lines[i-1]
存在,并且lines[i+1]
的长度至少为 5。
当i
为零或lines.length-1
时,或者当前/后行之一少于五个字符时,这会中断。
关于java字符串索引越界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13862676/