MAP集合练习题

package demo;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;

/*利用 Map,完成下面的功能:
 从命令行读入一个字符串,
 表示一个年份,
 输出该年的世界杯冠军是哪支球队。
 如果该年没有举办世界 杯,则输出:没有举办世界杯。
* */
public class Test19 {
    public static void main(String[] args) {
        //创建map集合
        Map<Integer, String> map = new HashMap<>();
        map.put(1930, "乌拉圭");
        map.put(1934, "意大利");
        map.put(1938, "意大利");
        map.put(1950, "乌拉圭");
        map.put(1594, "德国");
        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, "意大利");

        //用户输入
        Scanner sc = new Scanner(System.in);
        //打印提示语句
        System.out.println("输入你想要查询的年份  (别查了没中国)");
        //确定Scanner类对象变量
        Integer sr = sc.nextInt();

        //使用map类中的确定key是否存在的方法
        if (map.containsKey(sr))
            System.out.println(map.get(sr));
        else System.out.println("世界杯4年一次 你这个假球迷");

        //在上一题目的基础上,增加如下功能: 读入一支球队的名字,输出该球队夺冠的年份列表。
        //确定Scanner类对象数据类型
        String str = sc.next();
        boolean bo = false;
        Set<Integer> set = map.keySet();
        for (Integer integer : set) {
            if (str.equals(map.get(integer))){
                bo = true;
                System.out.println("integer = " + integer);
            }
        }
        if (bo==false) System.out.println(str + "没有得过世界杯");

    }
}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我知道了。这是一个Java练习题,涉及Map集合、遍历车站编号及名称以及计算地铁票价。 首先,我们需要创建一个Map对象,用于存储车站编号和名称的对应关系。代码如下: ```java Map<Integer, String> stationMap = new HashMap<>(); stationMap.put(1, "车公庙"); stationMap.put(2, "中心区"); stationMap.put(3, "华强北"); stationMap.put(4, "福田口岸"); stationMap.put(5, "市民中心"); // ... 其他车站编号和名称 ``` 然后,我们可以使用for循环遍历Map集合,输出车站编号和名称。代码如下: ```java for (Map.Entry<Integer, String> entry : stationMap.entrySet()) { System.out.println("车站编号:" + entry.getKey() + ",车站名称:" + entry.getValue()); } ``` 接下来,我们需要根据起点站和终点站计算地铁票价。假设票价按照距离计算,每站之间的票价为2元。可以定义一个方法来实现这个功能。代码如下: ```java public static double calculateFare(int startStation, int endStation) { int distance = Math.abs(startStation - endStation); double fare = distance * 2; return fare; } ``` 最后,我们可以在主函数中调用这个方法来计算地铁票价。代码如下: ```java int startStation = 1; int endStation = 5; double fare = calculateFare(startStation, endStation); System.out.println("起点站:" + stationMap.get(startStation) + ",终点站:" + stationMap.get(endStation) + ",票价:" + fare + "元"); ``` 这样,我们就完成了这个练习题。完整代码如下: ```java import java.util.HashMap; import java.util.Map; public class SubwayFare { public static void main(String[] args) { Map<Integer, String> stationMap = new HashMap<>(); stationMap.put(1, "车公庙"); stationMap.put(2, "中心区"); stationMap.put(3, "华强北"); stationMap.put(4, "福田口岸"); stationMap.put(5, "市民中心"); // ... 其他车站编号和名称 for (Map.Entry<Integer, String> entry : stationMap.entrySet()) { System.out.println("车站编号:" + entry.getKey() + ",车站名称:" + entry.getValue()); } int startStation = 1; int endStation = 5; double fare = calculateFare(startStation, endStation); System.out.println("起点站:" + stationMap.get(startStation) + ",终点站:" + stationMap.get(endStation) + ",票价:" + fare + "元"); } public static double calculateFare(int startStation, int endStation) { int distance = Math.abs(startStation - endStation); double fare = distance * 2; return fare; } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值