从命令行读入一个字符串,表示一个年份,输出该年的世界杯冠军是哪支球队。 如果该年没有举办世界杯,则输出:没有举办世界杯。
解题分析:
1.首先要用scanner方法来收订输入一个 年份
2.用集合来容纳世界杯的数据
3.根据集合的特点来判断用哪一种集合方式
4.按照题目的条件做判断
具体代码如下:
public static void main(String[] args) {
// TODO Auto-generated method stub
System.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循环进行遍历。