世界杯查询
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){