这听起来类似于我刚刚完成的作业,所以如果它(并且你在我的 class !),我不会告诉你使用我们没有涉及的任何术语,因为我知道它可能是令人生畏的试图发现实用的新东西(超出我们的要求) .
首先,设置退出条件 . 正如您已经说过的那样,您必须从现有的ArrayList中创建一个新的ArrayList . 您将从现有ArrayList中删除项目,存储偶数(或奇数)索引的整数,直到列表为空 .
所以你的退出条件是:
if (evenList is Empty)
return evenList;
然后,按照自己的方式完成各个步骤 . 我建议确定你开始使用的数组是否有一个奇数步数,如下所示:
if (evenList has Even Elements)
int holderForIntsAtEvenElements = last evenList EVEN element
注意我们从最后一个元素开始,所以当你走出递归方法时,这将是添加到新ArrayList的最后一个,因此它将按数字顺序排列 . 您可能会发现这篇文章很有意思:What does this boolean return mean?
然后,我们想要从列表中删除最后一个元素,并再次递归调用该方法 .
最后,当我们达到退出条件并开始出现时,我们想要添加我们一直存储到它们的整数,例如:
evenList.add(holderForIntsAtEvenElements);
return evenList;
这并没有解决一个问题,如果列表没有偶数个元素,那么如何处理第一个元素 - 但是,我会让你试着解决它!这是代码和伪代码的良好组合,有望帮助您走上正确的轨道 .