为了账号安全,请及时绑定邮箱和手机立即绑定

如何将成员分配到团队而不重复?

如何将成员分配到团队而不重复?

慕神8447489 2023-10-12 17:14:48
我想将团队成员分配给特定数量的团队,但任何团队中都没有重复的成员。如何删除重复?您好,您能帮我解决这个代码吗?我必须为每个团队分配团队成员。教练可以输入候选人数量、球队数量以及候选人姓名。我可以使用链接列表输入以下详细信息,也可以为其生成随机索引。我正在创建一个二维数组来存储其中的团队和成员的相应数量。但我无法确保每次索引在列表中都是唯一的,即没有歧义。这是代码// 我接受候选人数量并将其存储在链接列表中 // 接受团队数量 / 创建二维数组来存储每个团队的成员 //tn - 团队 //mem - 每个团队中的成员       System.out.println("how many teams do you want: ");        tn=sc.nextInt();        mem=num/tn;                String arr[][]= new String[tn][mem];        //shuffling the list        Collections.shuffle(name);        for(i=0;i<tn;i++)        {            for(j=0;j<mem;j++)            {                //calculating random index                index=random.nextInt(num);//storing element of list in 2d array.            arr[i][j]=name.get(index);            name.remove(index);//removing the index            }            //name.remove(index);        }如果有 4 个候选人名为 [ritu、vishal、mohit、harsh],则随机索引会重复2 支球队,则原始结果是球队 1 [ritu,harsh] 球队 2 [harsh,mohit]但预期输出是团队 1[harsh, ritu] 团队 2[vishal, ritu]
查看完整描述

2 回答

?
开满天机

TA贡献1786条经验 获得超13个赞

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

解决方案:从池中删除选定的玩家。

或者

因为您已经对球员池进行了洗牌:只需将他们按顺序分配给每个后续球队即可。


查看完整回答
反对 回复 2023-10-12
?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

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


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


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();

    }

}


查看完整回答
反对 回复 2023-10-12
  • 2 回答
  • 0 关注
  • 84 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信