(OJ)Java容器-世界杯查询

世界杯查询

Problem Description

1.从命令行读入一个队名,输出该队获得冠军是哪一年(以下面五届数据作为基础数据)。如果该队没有获得冠军,则输出:队名+“ lose the championship!”。


2.下面是五届世界杯数据:
届数  举办年份  举办地点  冠军
第一届,1930年,Uruguay,Uruguay;
第三届,1938年,France,Italy;
第五届,1954年,Swiss,West Germany;
第七届,1962年,Chile,Brazil;
第十三届,1986年,Mexico,Argentina;


3.要求(用Map实现,下面的m即是Map对象):下面是后半部分代码,请补充前半部分:
                 if(m.get(temp).equals(str)){
                     System.out.println(temp);
                 }
             }
          }else{
               System.out.println( str+" lose the championship!");
          }
     }
}

Input Description

Italy

Output Description

1938

解题代码

// 这题是一个代码补全题 
// 下面三行可以替换为 import java.util.*
import java.util.HashMap;
import java.util.Scanner;
import java.util.Set;

public class Main{
    
    

    public static void main(String[] args) {
    
    
        // 创建一个HashMap对象 根据后面的代码 变量名必须为m
        HashMap<String, String> m = new HashMap<>();
        // 将世界杯数据存入map存储
        m.put("1930","Uruguay");
        m.put("1938","Italy");
        m.put("1954","West Germany");
        m.put("1962","Brazil");
        m.put("1986","Argentina");
        // 创建Scanner对象 接收控制台输入
        Scanner in = new Scanner(System.in);
        // 接收输入的队名 存储为字符串
        String str = in.nextLine();
        // 关闭Scanner对象输入流
        in.close();
        // 如果队名为存储数据中的有的队名
        if ("Uruguay".equals(str) || "Italy".equals(str) || "West Germany".equals(str) || "Brazil".equals(str) || "Argentina".equals(str)){
    
    
            // 获取所有key的集合
            Set<String> keys = m.keySet();
            // 增强for循环遍历所有的key 变量名为temp
            for (String temp:keys){
    
    

猜你喜欢

转载自blog.csdn.net/qq_40856560/article/details/112604153