繁体   English   中英

如何在 java 中循环多个 object

[英]How can I loop through multiple object in java

您好,我对 java 开发还很陌生,我遇到了 for 循环问题这是我的代码

        for (MatchTeam team : players) {
        for (MatchPlayer player : team.getTeamPlayers()) {
            for (Location location : arena.getLocations()) {
                player.getPlayer().teleport(location);
            }
        }
    }

Object MatchTeam 持有玩家列表 (getTeamPlayers) 并且 getLocations 包含两个不同的位置

我已经用两个玩家测试了这段代码,他们被传送到同一个位置,但他们应该被传送到两个不同的位置

关于如何解决这个问题的任何想法? 谢谢 !!

您将每个玩家连续“传送”到每个位置,因为您遍历所有玩家,最后他们都最终到达他们被传送的最后一个位置 - 列表中的最后一个位置。 如果你想传送,比如说,第一个玩家到第一个位置,第二个玩家到第二个位置等等,你可以用这个代码 go:

int currentLocation = 0;
for (MatchTeam team : players) {
    for (MatchPlayer player : team.getTeamPlayers()) {
        player.getPlayer().teleport(arena.getLocations().get(currentLocation++));
        if (currentLocation == arena.getLocations().size()) {
            currentLocation = 0;
        }
    }
}

它遍历所有位置,然后在索引达到位置列表的大小时回绕,这是一个超出范围的索引值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM