如何 move/iterate 转发到数组中的下一个值 (java/android)

How to move/iterate forward to next value in Array (java/android)

花了最后 1-2 个小时寻找答案,但还没有完全明白,我希望它很简单。

我创建了一个自定义 class 数组,其中只有少量值(其中 Person 是 Class):

Person person[] = new Person[2]; 

(注意我将用像 numberOfPeople 这样的变量替换 2)

我需要创建一个我可以在需要时调用的方法(例如按下按钮时),它将从当前人移动到数组中的下一个人(到达末尾时回到开头) .

换句话说:按下按钮 - 从 player0 移动到 player1。

我一直在研究如何使用 For、ForEach、If 等来执行此操作,但无法解决。


通过 Vincent Ugenti 的回答解决。 万一其他菜鸟遇到这个问题来解决他们的问题,有几个后续的菜鸟问题,我试图用一个变量定义数组中的值的数量,该变量直到创建数组后才被赋予值(导致即时崩溃)然后我忘了对代码做任何事情,这不会 运行 每个对象构造函数都需要单独完成。

  • 创建一个变量,例如"currentPerson"
  • 在你的事件处理程序中(每当你想前进到下一个人时),currentPerson = (currentPerson + 1) % numberOfPeople
  • 那么现在的人总是person[currentPerson]

跟踪当前索引并挂钩按钮事件是您想要做的。

按下按钮时检查您的变量,将其递增 1 并检查该值是否不大于数组的长度。

如果它不大于数组长度,您可以获取该元素,否则将计数重置为 0 并执行您需要执行的操作。

如果您只是在按下按钮(事件处理程序)时执行此操作,则不需要使用任何循环。