【发布时间】:2014-05-15 07:00:13
【问题描述】:
当我的程序进入我的代码的这一部分时,它会崩溃并产生这个错误
public static boolean Search(ArrayList<String> ArrayToSearch,String word)
{
String temp;
boolean found = false;
for(int counter = 0;found || counter < ArrayToSearch.size();counter++)
{
temp = ArrayToSearch.get(counter);
if(temp.equals(word.toLowerCase()))
{
found = true;
position = counter;
}
}
return found;
}
ArrayToSearch 是不同的数组列表,每行包含一个单词,表示字典。 Word 是用户想要搜索的单词。这是它产生的错误。 Add 是一个调用此方法并从中接收布尔值的方法
D:\>java Evan
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 109680, Size: 109680
at java.util.ArrayList.rangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at Evan.Search(Evan.java:95)
at Evan.Add(Evan.java:68)
at Evan.main(Evan.java:53)
D:\>
【问题讨论】:
-
建议:为什么不用
ArrayToSearch.indexOf(word)? -
代码风格提示:不要将变量的第一个字符大写,使用
arrayToSearch而不是ArrayToSearch开头的大写字母表示class。
标签: java runtime-error indexoutofboundsexception