所以我试图在一个方法中将一个数组均匀随机地分成 2 个其他数组。
我是 Java 的新手,几乎不知道任何 Array 方法,也不知道在哪里可以找到它们。
这是我目前所拥有的:
public void makeTeams(){
Player[] online = this.getServer().getOnlinePlayers();
Player[] team1;
Player[] team2;
}
我正在使用来自 Bukkit 的玩家类型,这是一种 Minecraft API。
最佳答案
Collections
框架有更多好东西——除非您确实需要使用它们,否则您通常应该避免使用数组。尽管如此,由于您已请求数组,下面介绍了如何使用 Collections
为您完成繁重的工作。
要创建两个大小相等的团队,从一组中随机选择团队成员:
Player[] online = getServer().getOnlinePlayers(); // don't need to code "this."
List<Player> list = Arrays.asList(online);
Collections.shuffle(list);
Player[] team1 = list.subList(0, list.size() / 2).toArray(online);
Player[] team2 = list.subList(list.size() / 2, list.size()).toArray(online);
此代码适用于组中奇数玩家。
如果您使用的是集合(集合将是正确的集合)而不是数组,任务会简单得多。
关于java - 将数组随机拆分为 2 个均分数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21743681/