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

这个程序打印所有的队名,而不是只打印规则破坏者

钮长恨
2023-03-14
    import java.util.HashMap;
    import java.util.Scanner;
    import java.util.TreeSet;

    public class Tamrin1_2_1 {
        public static void main(String[] args) {
            String player,team;
            int numberOfTeams,numberOfPlayers;
            Scanner scanner=new Scanner(System.in);
            HashMap<String,String> teamsAndPlayers=new HashMap<String,String>();
            TreeSet<String> guilty=new TreeSet<String>();
            numberOfPlayers=scanner.nextInt();
            numberOfTeams=scanner.nextInt();
            for(int i=0;i<=numberOfPlayers;i++) {
                teamsAndPlayers.put(scanner.nextLine(), "0");
            }
            for(int i=0;i<numberOfTeams;i++) {
                team=scanner.nextLine();
                numberOfPlayers=scanner.nextInt();
                for(int j=0;j<=numberOfPlayers;j++) {
                    player=scanner.nextLine();
                    if(teamsAndPlayers.containsKey(player)) {
                        if(teamsAndPlayers.get(player).equals("0")) {
                            teamsAndPlayers.put(player, team);
                        }
                        else {
                            guilty.add(team);
                            guilty.add(teamsAndPlayers.get(player));
                         }
                    }
                    else {
                        guilty.add(team);
                    }
                }
            }
            System.out.println(guilty);

            }
        }
    10 4
    dani carvajal
    eder militao
    sergio ramos
    raphael varane
    nacho
    eden hazard
    toni kroos
    martin odegaard
    karim benzema
    luka modric
    real madrid
    3
    martin odegaard
    karim benzema
    sergio ramos
    valencia
    2
    dani carvajal
    luka modric
    real sociedad
    2
    martin odegaard
    nacho
    atletico madrid
    3
    raphael varane
    eden hazard
    toni kroos
    real madrid
    real sociedad

但我得到的输出是:

    atletico madrid
    real madrid
    real sociedad
    valencia

共有1个答案

骆文华
2023-03-14

实际上,我会怀疑这些for循环条件:

for(int i=0;i<=numberOfPlayers;i++) {

for(int j=0;j<=numberOfPlayers;j++) {

使用<而不是<=。我怀疑现在你对每个团队的解读比要求多了一个名字。

public class Tamrin1_2_1 {
  public static void main(String[] args) {
    String player,team;
    int numberOfTeams,numberOfPlayers;
    Scanner scanner=new Scanner(System.in);
    HashMap<String,String> teamsAndPlayers=new HashMap<String,String>();
    TreeSet<String> guilty=new TreeSet<String>();
    numberOfPlayers=scanner.nextInt();
    numberOfTeams=scanner.nextInt();
    scanner.nextLine();
    for(int i=0;i<numberOfPlayers;i++) {
      teamsAndPlayers.put(scanner.nextLine(), "0");
    }
    for(int i=0;i<numberOfTeams;i++) {
      team=scanner.nextLine();
      numberOfPlayers=scanner.nextInt();
      scanner.nextLine();
      for(int j=0;j<numberOfPlayers;j++) {
        player=scanner.nextLine();
        if(teamsAndPlayers.containsKey(player)) {
          if(teamsAndPlayers.get(player).equals("0")) {
            teamsAndPlayers.put(player, team);
          }
          else {
            guilty.add(team);
            guilty.add(teamsAndPlayers.get(player));
          }
        }
        else {
          guilty.add(team);
        }
      }
    }
    System.out.println(guilty);
  }
}
 类似资料:
  • 本文向大家介绍C程序打印所有ASCII值。,包括了C程序打印所有ASCII值。的使用技巧和注意事项,需要的朋友参考一下 问题 打印0到255个字符的美国信息交换标准代码(ASCII)值,而无需将该字符初始化为整数类型变量。只需使用格式说明符。 解决方案 在这里,我们正在编写一个程序,仅打印65到122。 如果要查看所有ASCII值,则在for循环中可以编写如下: 然后,它打印从0到255的所有AS

  • 问题内容: 我想打印文件的内容,但是所有以#开头的行都想忽略。我正在尝试使用grep和awk进行操作,但是它一直在打印整个文件,或者只是打印以#开头的行。我可以以正确的方式推动我,也可以使用grep / awk命令在不以#开头的文件中打印任意行。 问题答案: 使用选项可以否定条件:

  • 问题内容: 如何打印指示的div(而无需手动禁用页面上的所有其他内容)? 我想避免使用新的预览对话框,因此使用此内容创建新窗口没有用。 该页面包含几个表,其中一个表包含我要打印的div-该表已为网络设置了视觉样式,不应以打印形式显示。 问题答案: 这是一个通用的解决方案, 仅 使用 CSS ,我已经验证可以使用。 替代方法不是很好。使用非常棘手,因为如果有任何元素,则任何后代都不会显示。要使用它,

  • 问题内容: 我正在寻找有关在打印网页时制作像样的CSS的任何建议/规则/指南。你有什么要提供的吗? 问题答案: 以下是一些一般的打印样式,可用于获得更好的打印效果: 前一个防止在表行内分页 thead样式使thead标记中的所有行针对表所跨越的每个页面重复。 NoPrint是我用来在屏幕上显示某些内容的类,但不是用于打印的类。 而且,我喜欢关闭链接颜色。

  • 我目前面临的一个问题是,我有一个的问题答案,而我正试图将每个答案打印到一个JLabel,因为这将显示添加到题库中的问题。 问题是它只会打印一个答案,并且可能有5个答案存储在数组中。它正在将它打印到控制台我尝试将放在for循环内部和外部。 我这样做是最好的方法吗?

  • 我从数据库中读取一个字符串值,并通过servlet将其打印到jsp页面上。问题是,在Jsp上,如果数据库中的字段为空,就会打印出字符串“null”。如果数据库中的值为空,我需要一个空白的编辑框。 我的数据库访问对象: 我的Servlet: 我的Jsp: 我的数据库是Oracle 11g,浏览器是FireFox。