我正在运行一个菜单,用户可以从他们可以选择的选项列表中进行选择。其中一个选项是用户可以使用Array List将字符串添加到特定索引。这是通过一个名为Public Void Set Element()的方法处理的;当我运行程序并通过添加字符串和索引选择此选项时,我得到Index Out of Bounds错误。这是我的代码任何暗示
public void setElement(int setIndex, Object element)
{
if (setIndex < 0) throw new IndexOutOfBoundsException();
ListIterator li = listIterator();
while (li.hasNext()) {
li.next();
if (setIndex == 0) {
li.set(element);
return;
}
setIndex--;
}
throw new IndexOutOfBoundsException();
}
答案 0 :(得分:1)
如果你的结构是一个arraylist,为什么不使用ArrayList.set(int index,E element)?
请参阅http://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html
答案 1 :(得分:0)
以下是您的代码无效的可能原因:
listIterator()
是否返回正确的迭代器你最好的选择是ns47731说要插入print语句来检查索引的值和列表的长度。