【问题标题】:How to move/iterate forward to next value in Array (java/android)如何向前移动/迭代到数组中的下一个值(java/android)
【发布时间】:2015-04-01 19:27:30
【问题描述】:

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

我创建了一个自定义类的数组,其中只有少量值,如下所示(其中 Person 是一个类):

Person person[] = new Person[2]; 

(请注意,我将用 numberOfPeople 之类的变量替换 2)

我需要创建一个可以在需要时调用的方法(例如在按下按钮时),该方法将从当前人移动到数组中的下一个人(到达结束时返回开始)。

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

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


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

【问题讨论】:

    标签: java android arrays loops methods


    【解决方案1】:
    • 创建一个变量,例如“currentPerson”
    • 在您的事件处理程序中(当您想前进到下一个人时),currentPerson = (currentPerson + 1) % numberOfPeople
    • 那么当前人总是person[currentPerson]

    【讨论】:

    • 非常感谢,知道了!万一其他人来寻找同样的东西:我有一些后续的菜鸟问题,我试图用一个变量定义数组中的值的数量,该变量在创建数组之后才被赋予值(导致即时崩溃) 然后我忘了对代码做更多的事情,这不会运行每个需要单独完成的对象构造函数。
    【解决方案2】:

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

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

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

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

    【讨论】:

    • 谢谢,我已经设法通过文森特的回答得到了它
    猜你喜欢
    • 2021-02-26
    • 1970-01-01
    • 2020-11-19
    • 1970-01-01
    • 2020-07-09
    • 1970-01-01
    • 2013-05-17
    • 2019-01-18
    • 1970-01-01
    相关资源
    最近更新 更多