我正在尝试遍历一个数组列表并每隔 3 个索引逐渐删除一个元素。一旦它到达数组列表的末尾,我想将索引重置回开头,然后再次遍历数组列表,再次每 3 个索引删除一个元素,直到数组列表中只剩下一个元素。
listOfWords 是一个长度为 3 的数组,之前已填充。
int listIndex = 0;
do
{
// just to display contents of arraylist
System.out.println(listOfPlayers);
for(int wordIndex = 0; wordIndex < listOfWords.length; wordIndex++
{
System.out.print("Player");
System.out.print(listOfPlayers.get(wordIndex));
System.out.println("");
listIndex = wordIndex;
}
listOfPlayers.remove(listOfPlayers.get(listIndex));
}
while(listOfPlayers.size() > 1);
我已经尝试实施了几个小时,但我仍然遇到问题。数组列表的元素会发生以下情况:
1, 2, 3, 4
1, 2, 4
1, 2
然后它在检查第三个元素(不再存在)时抛出“索引越界错误”异常。一旦它到达最后一个元素,我希望它环绕到第一个元素并继续遍历数组。我还希望它从停止的地方开始,而不是从数组列表中删除元素后从头开始。