Java 如何在不重复的情况下为团队分配成员?

Java 如何在不重复的情况下为团队分配成员?,java,arrays,list,Java,Arrays,List,我想将团队成员分配到特定数量的团队中,但任何团队中的成员都不得重复。如何消除重复 嗨,你能帮我写下这段代码吗?我必须为每个团队分配团队成员。教练可以输入候选人数量、团队数量以及候选人姓名。我可以使用链表输入以下详细信息,也可以为相同的内容生成随机索引。 我正在创建一个二维数组来存储相应数量的团队和其中的成员。但我无法确保每次索引都是列表的唯一索引,即没有歧义。 这是密码 //我接受候选人的数量,并将其存储在一个链接列表中 //接受团队人数 /创建二维数组以存储每个团队的成员//tn-team//

我想将团队成员分配到特定数量的团队中,但任何团队中的成员都不得重复。如何消除重复

嗨,你能帮我写下这段代码吗?我必须为每个团队分配团队成员。教练可以输入候选人数量、团队数量以及候选人姓名。我可以使用链表输入以下详细信息,也可以为相同的内容生成随机索引。 我正在创建一个二维数组来存储相应数量的团队和其中的成员。但我无法确保每次索引都是列表的唯一索引,即没有歧义。

这是密码 //我接受候选人的数量,并将其存储在一个链接列表中 //接受团队人数 /创建二维数组以存储每个团队的成员//tn-team//mem-member

System.out.println(“您想要多少个团队:”);
tn=sc.nextInt();
mem=num/tn;
字符串arr[][]=新字符串[tn][mem];
//洗牌
收藏。洗牌(名称);

对于(i=0;i当前,您可以从您的玩家池中随机挑选成员。但挑选的玩家仍保留在池中

解决方案:从池中移除选中的玩家


由于您已经洗牌了玩家池:只需将他们按顺序分配给后续的每个团队。

目前您从玩家池中随机挑选成员。但挑选的玩家仍保留在池中

解决方案:从池中移除选中的玩家


由于您已经洗牌了玩家池:只需将他们按顺序分配给后续的每个团队。

我使用LinkedList及其方法poll(),该方法

检索并删除此列表的标题(第一个元素)

Scanner sc=新扫描仪(System.in);
System.out.println(“您想要多少个团队:”);
LinkedList name=新的LinkedList(列表中的“ritu”、“vishal”、“mohit”、“harsh”);
int tn=sc.nextInt();
int mem=name.size()/tn;
字符串[][]arr=新字符串[tn][mem];
收藏。洗牌(名称);
对于(int i=0;i
我使用LinkedList及其poll()方法

检索并删除此列表的标题(第一个元素)

Scanner sc=新扫描仪(System.in);
System.out.println(“您想要多少个团队:”);
LinkedList name=新的LinkedList(列表中的“ritu”、“vishal”、“mohit”、“harsh”);
int tn=sc.nextInt();
int mem=name.size()/tn;
字符串[][]arr=新字符串[tn][mem];
收藏。洗牌(名称);
对于(int i=0;i
您好,谢谢,但是您能为此编写一个特定的代码吗?我确实尝试过,但无法找到正确的方法。我正在使用remove()但是它会给出索引越界错误。无法理解为什么?当您从玩家池中移除时,索引范围也会缩小。您可能在确定下一个随机索引时忘记了考虑这一点。您可能需要
index=random.nextInt(name.size())
您好,谢谢,但是您能为此编写一个特定的代码吗?我确实尝试过,但无法找到正确的方法。我正在使用remove()但随后它给出了索引越界错误。无法理解为什么?当您从玩家池中移除时,索引范围也会缩小。您可能在确定下一个随机索引时忘记了考虑这一点。您可能需要
index=random.nextInt(name.size());
@KhushiAgarwal,我的答案是:“检索并删除此列表的标题(第一个元素)。@KhushiAgarwal在我的回答中:“检索并删除此列表的标题(第一个元素)”。
Scanner sc = new Scanner(System.in);
System.out.println("how many teams do you want: ");
LinkedList<String> name = new LinkedList<>(List.of("ritu", "vishal", "mohit", "harsh"));
int tn = sc.nextInt();
int mem = name.size() / tn;
String[][] arr = new String[tn][mem];
Collections.shuffle(name);
for (int i = 0; i < tn; i++) {
    for (int j = 0; j < mem; j++) {
        arr[i][j] = name.poll();
    }
}