当前位置: 首页 > 知识库问答 >
问题:

向地图添加额外内容

蒲昀
2023-03-14

嗨,我正在尝试重新创建一个足球锦标赛,已经能够创建一个地图的集团,但现在想要添加到每个国家的点数。有人有什么好主意吗?请看看我已经做了什么。

import java.util.*;

class EuroGroupStages {
    
    public static void main(String args[]) {

         Map<String, Set<String>> groupA;
         
//public EuroGroupStages() 
//  {
         groupA = new TreeMap<>();

//  }
         
//public void addCountries(String aGroup)
//  {
        Scanner keyboard = new Scanner(System.in);
        String aCountry, aGroup;
        char anAnswer;
        boolean flag = true;
        
        while(flag)
        {
            Set<String> country = new HashSet<>();
            
            System.out.print("Please enter the group name (A-D):");     
            aGroup = keyboard.next();
        
                for(int i = 1; i < 5; i++)
                {
                    System.out.print("Please enter a country");
                    aCountry = keyboard.next();
                    country.add(aCountry);
                    
                }

            System.out.print("Do you want to continue? Y/N");
            anAnswer = keyboard.findWithinHorizon(".", 0).charAt(0);
                
                if(anAnswer == 'N' || anAnswer == 'n')
                {
                    flag = false;
                }
            groupA.put(aGroup, country);
        }

        System.out.println(groupA);
        
        
        keyboard.close();
//  }

    }
}

共有1个答案

祁默
2023-03-14

我想您最好创建groupteam类。每个将包含一个/列表/...(任何最适合的)team对象。

team类中,可以提供一个属性,该属性包含该队在分组阶段的点数。

对于:

public class Group {
    private String name;
    private Set<Team> teams;

    public Group(String name) {
        this.name = name;
        this.teams = new TreeSet<>();
    }

    public void addTeam(Team team) {
        teams.add(team);
    }
}
public class Team {
    private String name;
    private int points;

    public Team(String name) {
        this.name = name;
    }

    public void addPoints(int amount) {
        this.points += amount;
    }
}
public class EuroGroupStages {
    public static void main(String[] args) {
        // Create group B
        Group groupB = new Group("B");

        // Create teams in group B
        Team belgium = new Team("Belgium");
        Team finland = new Team("Finland");
        Team denmark = new Team("Denmark");
        Team russia = new Team("Russia");

        // Add teams of group B to group B
        groupB.addTeam(belgium);
        groupB.addTeam(finland);
        groupB.addTeam(denmark);
        groupB.addTeam(russia);

        // First matches were played, Belgium and Finland won
        belgium.addPoints(3);
        finland.addPoints(3);
    }
}
 类似资料:
  • 我使用以下代码将图标添加到TreeItem中。使用Jfeniox库进行材质设计图标。当我点击tree项时,图标会随机出现在treeview列表的末尾,就像在Image中一样。

  • 我有一个,作为布局管理器,我正在尝试获得这种安排: 忽略边框的额外深蓝色空间。 我总共有5列和3行,所有组件都将设置PreferredSize()设置为精确值,以完全适合同样具有首选大小(170 x 115)的JPanel。 问题是似乎在最后一列宽度上添加了30 pxls,因为仅在的宽度上添加了30 pxls(总共200个)组件显示正确,如下所示: 但由于额外的空间,最后一列被分隔开了。 它添加了

  • 我正在尝试将Gradle(1.4)添加到一个现有的项目中,该项目有多个测试套件。位于中的标准单元测试成功运行,但我在设置任务以运行位于中的JUnit测试时遇到了麻烦。 当我运行时,对于中的类,我遇到了几个错误。这使我认为依赖项设置不正确。如何设置以便它运行我的JUnit集成测试? Build.Gradle 细节:1.4级 解决方案:我没有为集成测试源集设置编译类路径(参见下面)。在我的I代码中,我

  • 问题内容: 实际上,JSOUP在我的jSOUP解析器中向HTML添加了一些额外的编码值。 但是由于某种原因找不到Entities类,并给出了错误。我包含的库是 原始的HTML是 在从JSOUP给出了这样的: iframe元素已添加一些已编码的内容。 请帮忙。 感谢Swaraj 问题答案: 实际上,jsoup不会添加编码的东西。Jsoup只是添加了 似乎 缺少的结束标记。让我解释。 首先,jsoup

  • 我在这里看到了一些例子:http://docs.oracle.com/javase/7/docs/api/javax/swing/joptionpane.html 它似乎表明我应该用一个自定义的按钮列表来替换我的组合框,这不是我想要的。我需要有3个按钮(好的,跳过,取消),以及项目列表。 更新:为了说明我的GUI应该是什么样子: null 目前我的代码如下所示: 灵感来自:Java:showInp

  • 问题内容: 我想用三个表的联合创建视图。但是在结果查询中,我想要一个额外的列,例如“ tableId”。 我的代码就像 这给了我所需的三个表的并集。但是如何获取结果输出中的表ID列?该列在三个表中都不存在。 问题答案: 这听起来像你只是想一个额外的硬编码值添加到您的列表