• 已知有十六支男子足球队,参加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(" ");
        }
        }

    代码运行结果:

  • 相关阅读:
    Docker + Nacos + Spring Cloud Gateway 实现简单的动态路由配置修改和动态路由发现
    python requests请求接口返回304问题解决
    都什么年代了,你居然还连不上GitHub?
    三维测量与建模笔记 - 2.1 坐标转换基础
    CopyOnWriteArrayList是如何保证线程安全的?
    SSM框架真没那么难,这份阿里大佬的进阶实战笔记真给讲透了!
    操作系统第三章王道习题_内存管理_总结易错知识点
    解决重启Linux服务器后数据消失问题
    小程序uView2.X框架upload组件上传方法总结+避坑
    为了方便,采用数据库连接池druid
  • 原文地址:https://blog.csdn.net/qq_32071537/article/details/127694521