• 已知有十六支男子足球队,参加2008 北京奥运会。写一个程序,把这16 支球队随机分为4 个组。


    已知有十六支男子足球队参加2008 北京奥运会。写一个程序,把这16 支球队随机分为4 个组。
    要求:采用List集合和随机数放入map集合中,遍历map集合打印结果:

    例如:第一组:中国 美国 澳大利亚 巴西

               。。。。。。。

    2008 北京奥运会男足参赛国家:
    科特迪瓦","阿根廷","澳大利亚","塞尔维亚","荷兰","尼日利亚","日本",
    "美国","中国","新西兰","巴西","比利时","韩国","喀麦隆","洪都拉斯","意大利

    首先创建一个集合,用Collections.addAll添加所有的国家到集合中:

     ArrayListlist=new ArrayList();
        Collections.addAll(list, "科迪瓦特","阿根廷","澳大利亚","塞尔维亚","荷兰",
                "尼日利亚","日本","美国","中国","新西兰","巴西","比利时","韩国","喀麦隆","洪都拉斯","意大利");

    因为每组四个队,需要判断每个队是否满足四个,满足不添加,不满足,添加,此外如果已经满足了四个则需要i--,让循环再次进行,直到所有队伍组成完整,并且通过put方法添加到map集合中:

     int g1=0,g2=0,g3=0,g4=0;
        Random r=new Random();
        Mapgroup=new HashMap();
        int j;
        for(int i=0;i     {
            j=r.nextInt(4)+1;
            if(j==1&&g1<4)
            {
              group.put(list.get(i),j);
              g1++;
            }
            else if(j==2&&g2<4)
            {
                group.put(list.get(i),j);
                g2++;
            }
            else if(j==3&&g3<4)
            {
                group.put(list.get(i),j);
                g3++;
            }
            else if(j==4&&g4<4)
            {
                group.put(list.get(i),j);
                g4++;
            }
            else {
            i--;
            }
        } 

     第一种方法遍历输出map集合:

    键值对

    for(int i=1;i<=4;i++)
        {
            System.out.print("第"+i+"组:");
            for(Entryentry:group.entrySet()) {
                if(entry.getValue().equals(i))
                {
                    System.out.print(entry.getKey()+" ");
                }
            }
            System.out.println(" ");
        }

    第二种方法遍历输出map集合:

    迭代器

    for(int i=1;i<=4;i++)
        {
            System.out.print("第"+i+"组:");
            Set kSet=group.keySet();
            Iterator it=kSet.iterator();
            while(it.hasNext())
            {
                Object key=(Object)it.next();
                Object value=group.get(key);
                if(value.equals(i))
                {
                    System.out.print(key+" ");
                }
            }
            System.out.println(" ");
        } 

    完整代码:

    package act;
    import java.util.*;
    import java.util.Map.Entry;
    public class Test3 {
        public static void main(String[] args) {
            // TODO Auto-generated method stub
        ArrayListlist=new ArrayList();
        Collections.addAll(list, "科迪瓦特","阿根廷","澳大利亚","塞尔维亚","荷兰",
                "尼日利亚","日本","美国","中国","新西兰","巴西","比利时","韩国","喀麦隆","洪都拉斯","意大利");
        int g1=0,g2=0,g3=0,g4=0;
        Random r=new Random();
        Mapgroup=new HashMap();
        int j;
        for(int i=0;i     {
            j=r.nextInt(4)+1;
            if(j==1&&g1<4)
            {
              group.put(list.get(i),j);
              g1++;
            }
            else if(j==2&&g2<4)
            {
                group.put(list.get(i),j);
                g2++;
            }
            else if(j==3&&g3<4)
            {
                group.put(list.get(i),j);
                g3++;
            }
            else if(j==4&&g4<4)
            {
                group.put(list.get(i),j);
                g4++;
            }
            else {
            i--;
            }
        }
        /*for(int i=1;i<=4;i++)
        {
            System.out.print("第"+i+"组:");
            for(Entryentry:group.entrySet()) {
                if(entry.getValue().equals(i))
                {
                    System.out.print(entry.getKey()+" ");
                }
            }
            System.out.println(" ");
        }
        */
        for(int i=1;i<=4;i++)
        {
            System.out.print("第"+i+"组:");
            Set kSet=group.keySet();
            Iterator it=kSet.iterator();
            while(it.hasNext())
            {
                Object key=(Object)it.next();
                Object value=group.get(key);
                if(value.equals(i))
                {
                    System.out.print(key+" ");
                }
            }
            System.out.println(" ");
        }
        }

    代码运行结果:

  • 相关阅读:
    指定编码“gbk“,防止中文字符乱码
    如何做好网站SEO优化,网站SEO关键词优化的5个技巧
    Spring Security 在登录时如何添加图形验证码
    七夕送女朋友什么礼物?2022年七夕礼物推荐
    残差网络ResNet解读
    技术为业务赋能:深度剖析开发与业务的紧密结合
    webpack 静态资源文件加载(assets)
    【c++】跟werbtc学容器:unordered_set
    Mock.js 的语法规范学习
    2024天津理工大学中环信息学院专升本机械设计制造自动化专业考纲
  • 原文地址:https://blog.csdn.net/qq_32071537/article/details/127694521