集合小例子:第三集

来源:互联网 发布:乡镇公务员知乎 编辑:程序博客网 时间:2024/04/29 20:11

从命令行读入一个字符串,表示一个年份,输出该年的世界杯冠军是哪支球队。 如果该年没有举办世界杯,则输出:没有举办世界杯。

解题分析:
1.首先要用scanner方法来收订输入一个 年份
2.用集合来容纳世界杯的数据
3.根据集合的特点来判断用哪一种集合方式
4.按照题目的条件做判断

具体代码如下:
public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("请输入您要查询的年份:");Scanner sc = new Scanner(System.in);int year = sc.nextInt();// 实例化Map<String, String> map = new HashMap();// 添加数据map.put("1930", "乌拉圭");map.put("1934", "意大利");map.put("1938", "意大利");map.put("1950", "乌拉圭");map.put("1954", "西德");map.put("1958", "巴西");map.put("1962", "巴西");map.put("1966", "英格兰");map.put("1970", "巴西");map.put("1974", "西德");map.put("1978", "阿根廷");map.put("1982", "意大利");map.put("1986", "阿根廷");map.put("1990", "西德");map.put("1994", "巴西");map.put("1998", "法国");map.put("2002", "巴西");map.put("2006", "意大利");map.put("2010", "西班牙");map.put("2014", "德国");if (map.containsKey(String.valueOf(year)) == true) {System.out.println(year + "年奥运会的冠军球队是:" + map.get(String.valueOf(year)));} else {System.out.println("该年份没有举办奥运会!");}System.out.print("请输入球队:");String ball = sc.next();if (map.containsValue(ball) == false) {System.out.println("没有获得过奥运冠军");} else {System.out.println(ball + "队的夺冠年份是::");for (String s : map.keySet()) {if (ball.equals(map.get(s))) {System.out.print(s + " ");}}}}
这道题分析下来采用了Map集合,键值一一对应,年份和世界杯冠军一一对应,
那么判断就用了map集合的方法,主要用了contain,有两种一种是包含键,另一种是包含值,这样就可以判断年份对应的世界杯冠军了。最后用了foreach循环进行遍历。