Java练习题_Map 利用Map,完成下面的功能: 从命令行读入一个字符串,表示一个年份,输出该年的世界杯冠军是哪支球队。...

从命令行读入一个字符串,表示一个年份,输出该年的世界杯冠军是哪支球队。


历届世界杯冠军
届数 举办年份 举办地点 冠军
第一届 1930年 乌拉圭 乌拉圭
第二届 1934年 意大利 意大利
第三届 1938年 法国 意大利
第四届 1950年 巴西 乌拉圭
第五届 1954年 瑞士 西德
第六届 1958年 瑞典 巴西
第七届 1962年 智利 巴西
第八届 1966年 英格兰 英格兰
第九届 1970年 墨西哥 巴西
第十届 1974年 前西德 西德
第十一届 1978年 阿根廷 阿根廷
第十二届 1982年 西班牙 意大利
第十三届 1986年 墨西哥 阿根廷
第十四届 1990年 意大利 西德
第十五届 1994年 美国 巴西
第十六届 1998年 法国 法国
第十七届 2002年 韩日 巴西
第十八届 2006年 德国 意大利
第十九届 2010年 南非 西班牙
第二十届 2014年 巴西 德国

 

在原有世界杯Map 的基础上,
增加如下功能:
读入一支球队的名字或输入年份

得到球队的夺冠年份列表或夺冠的球队


例如,读入“巴西”,
应当输出 1958 1962 1970 1994 2002
读入“荷兰”,
应当输出未找到相关信息

一次性判断完就完事了...

看网上好多版本好不爽...

 1 import java.util.Collection;
 2 import java.util.HashMap;
 3 import java.util.Map;
 4 import java.util.Map.Entry;
 5 import java.util.Scanner;
 6 
 7 public class TestDay19_3 {
 8 
 9     public static void main(String[] args) {
10         HashMap hm = new HashMap<>();
11 
12         hm.put("1930", "乌拉圭");
13         hm.put("1934", "意大利");
14         hm.put("1938", "意大利");
15         hm.put("1950", "乌拉圭");
16         hm.put("1954", "西德");
17         hm.put("1958", "巴西");
18         hm.put("1962", "巴西");
19         hm.put("1966", "英格兰");
20         hm.put("1970", "巴西");
21         hm.put("1974", "西得");
22         hm.put("1978", "阿根廷");
23         hm.put("1982", "意大利");
24         hm.put("1986", "阿根廷");
25         hm.put("1990", "西得");
26         hm.put("1994", "巴西");
27         hm.put("1998", "法国");
28         hm.put("2002", "巴西");
29         hm.put("2006", "意大利");
30         hm.put("2010", "西班牙");
31         hm.put("2014", "德国");
32 
33         // 键盘录入值
34         @SuppressWarnings("resource")
35         Scanner sc = new Scanner(System.in);
36         System.out.println("请输入队名或年份");
37         String s = sc.nextLine();
38 
39         Collection> c = hm.entrySet();
40         // 设置获奖标记
41         boolean flag = false;
42         // 遍历集合信息
43         for (Entry entry : c) {// 判断是否等于年份
44             if (entry.getKey().equals(s)) {
45                 System.out.println(s + "年获胜的是:" + entry.getValue());
46                 flag = true;
47                 break;
48             } else if (entry.getValue().equals(s)) {// 判断是否等于国家名
49                 // System.out.println(s + "队在" + entry.getKey() + "年夺冠");
50                 System.out.print(entry.getKey() + " ");
51                 flag = true;
52             }
53         }
54         // 如果获奖了就不输出这句话
55         if (!flag) {
56             System.out.println("未找到相关信息");
57         }
58 
59     }
60 }

 

转载于:https://www.cnblogs.com/youlixin/p/10256349.html

你可能感兴趣的:(Java练习题_Map 利用Map,完成下面的功能: 从命令行读入一个字符串,表示一个年份,输出该年的世界杯冠军是哪支球队。...)