我是java的初学者 我想创建一个带数字的随机团队
我想把这个随机列表分成3个小组,我该怎么办? 因为一个团队只有2名成员
import java.util.Arrays;
import java.util.Collections;
public class RandomTeam {
public static void main(String[] args) {
Integer[] arr = new Integer[8];
for (int i = 0; i < arr.length; i++) {
arr[i] = i;
}
Collections.shuffle(Arrays.asList(arr));
System.out.println(Arrays.toString(arr));
}
}
输出
[3, 4, 2, 6, 7, 5, 0, 1]
如何将这个随机列表分成3个小组?
答案 0 :(得分:0)
在Collections.shuffle(Arrays.asList(arr));
之后添加以下代码:
int teams = 3;
int teamSize = 2;
if (arr.length >= teams * teamSize) // check if array contains enough IDs
{
for (int i = 0; (i < arr.length) && (i < teams * teamSize); i += teamSize) {
System.out.println("Team: " + i/teamSize+1); // print team number
for (int j = 0; j < teamSize; j++) // get all team members
{
System.out.println(arr[i+j]); // print ID of team member of team
}
}
}
您可以使用它执行其他操作,而不是将信息打印到控制台。例如,生成一个团队对象。在这种情况下,您必须首先构建一个团队类。
答案 1 :(得分:0)
您可以按照以下代码将团队划分为2个人:
import java.util.Arrays;
public class RandomTeam {
public static void main(String[] args) {
int arr[] = new int[8];
for (int i = 0; i < arr.length; i++) {
arr[i] = i;
}
int numberOfTeams = 3;
int sizeOfTeam = 2;
int newTeam[] = new int[2];
if (arr.length >= (numberOfTeams * sizeOfTeam)){
for (int i = 0; i < (numberOfTeams*sizeOfTeam); i+=sizeOfTeam) {
newTeam[0] = arr[i];
newTeam[1] = arr[i+1];
Printing((i+1), newTeam);
}
}
}
public static void Printing(int id, int arr[]) {
System.out.println("Team{" +
"id = " + id +
", members = " + Arrays.toString(arr) +
'}');
}
}
每次循环时,新团队都会替换newTeam [],如果需要为每个团队创建对象,则需要根据需要创建单独的类。
希望,这对您有帮助。