这个问题在这里已经有了答案:
什么是indexoutofboundsexception?我该怎么修[重复](1个答案)
上个月关门了。
我要浏览一个文件列表,把所有的单词都放在向量里。我列了一个向量列表,这样所有的“文件”都在同一个地方。但是,当我尝试在列表的第一个向量中添加一个单词时,它会给我一个错误“exception in thread”main“java.lang.indexoutofboundseception:index 1 out of bounds for length 0”我环顾四周看了看如何修复它,但是大多数相关的问题都是关于简单的arraylist,而不是关于arraylist的。这是我的密码:
public static ArrayList<Vector<String>> documents = new ArrayList<Vector<String>>(1000);
int i = 0;
for(String file : trainingDataA) //trainindDataA is an array with all the files
{
numDocA++; //number of documents it went through
Document d = new Document(file);
String [] doc = d.extractWords(docWords); //parses the file and returns an array of strings
for (String w : doc)
documents.get(i).addElement(w); //here is where I get the error, I just want to add all the
//string of the array (file words) to the first vector of
//the list
//so that every file has its own vector with its own words
i++;
}
我真的很感激任何帮助。
2条答案
按热度按时间p4tfgftt1#
你得到这个错误是因为
documents
没有Vector
加上它还没有因此尝试做什么documents.get(i)
将导致IndexOutOfBoundsException
.您可以添加
new Vector<String>()
进入documents
具体如下:将其添加到代码中的循环块之前。
niwlg2el2#
我想你的密码必须这样改变。因为文档需要类型为
Vector<String>
不是类型String
.