嵌套if语句中的java.lang.ArrayIndexOutOfBoundsException错误

时间:2014-03-27 10:46:57

标签: java loops arrays

    }

我有一个input.txt文件,我想从控制台调用它。此文件包含空格和引号。我写这段代码,但它给了我错误。伙计,这个代码我的错在哪里?

另外,if (chars[i]=='"'){ j = i ; i++ ; while (chars[i] != '"'){ i++; } System.out.println(str.substring(j,i)); } 由于错误,打印不起作用。

3 个答案:

答案 0 :(得分:1)

while(i < chars.length)

i++ ;

会让你遇到麻烦

if (chars[i]=='"'){

答案 1 :(得分:0)

如果字符串的最后一个字符是&#39>会发生什么? &#39;?

查看字符串" "(单个空格)

的情况
while(i < chars.length) // i == 0
  chars[0] == ' ' // true;
  i++; // i = 1 (past array end)
  if (chars[1] == '"') // you've accessed past the end of the array and you get the exception

答案 2 :(得分:0)

我认为你应该在“i ++”操作之后检查“i”变量 - 在大多数外部检查它是不够的,你可以输出数组大小