java字符串索引越界

标签 java if-statement java-me char

我已经一遍又一遍地检查了这段代码,但看不出这是在哪里发生的,它不会每次都发生,只有当我运行帖子两次时才会发生,但我尝试通过评论依次摆脱这些代码它们仍然会给出错误,但是如果我去掉这两个代码,我的代码工作正常,但它们是必要的,而且它们之前确实工作过。如有任何帮助,我们将不胜感激。

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/

相关文章:

java - 是否可以处理 Java 中的所有错误?

java - LDAP 获取用户所属的组

python - 奇怪的 If、Elif、Else 行为

java - 如何使用其中包含 actionPerformed 的 IF 语句从另一个类检查一个类中的 JToggleButton 状态?

javascript - JQuery 1 单击触发 2 个条件(如果)

java-me - 来自 IP 摄像机的 RTSP 直播

java - 从java中的另一个字符串中删除字符串

Java - 使用模板从字符串中提取键值对

java - J2ME - 无法关闭客户端的输出流,服务器挂起等待数据 [nokia J2ME 实现]

java - 诺基亚手机上拍摄的图像的缩略图存储在哪里?