题目

1.站编号和站名对应关系如下:1=新街口2=苜蓿园 3=仙鹤门 4=马群 5=钟灵街6=学则路7=孝陵卫8=下马坊9=苜蓿园10=西安门11=大行宫12=云锦路将以上对应关系的数据存储到map集合中。

2.计算地铁票价规则:总行程 3站内(包含3站)收费3元;3站以上不超过5站收费4元; 5站以上的,在4元的基础上,每多1站增加2元,十元封顶;

3.打印格式(需要对键盘录入的上车站和到达站进行判断,如果没有该站,提示重新输入);

例:
注意:每站需要2分钟
请输入上车站:新街口(流沙河不存在,请重新输入上车站:)
请输入到达站:仙鹤门(西三郎不存在,请重新输入到达站:)
从新街口到苜蓿园共经过3站,大约需要6分钟,花费了6元 ···``

HashMap<Integer,String> map=new HashMap<Integer, String>();
map.put(1,"元通");
map.put(2,"奥体东");
map.put(3,"兴隆大街");
map.put(4,"集庆门大街");
map.put(5,"云锦路");
map.put(6,"莫愁湖");
map.put(7,"汉中门");
map.put(8,"上海路");
map.put(9,"新街口");
map.put(10,"大行宫");
map.put(11,"西安门");
map.put(12,"明故宫");
String getOn=null;//上车站
String getOff=null;//下车站
Scanner input=new Scanner(System.in);
System.out.println("请输入上车站");
do{getOn=input.next();if(!map.containsValue(getOn)){System.out.println(getOn+"站不存在,请重新输入上车站:");continue;}else{break;}
}while(true);
System.out.println("请输入下车站");
do{getOff=input.next();if(!map.containsValue(getOff)){System.out.println(getOff+"站不存在,请重新输入上车站:");continue;}else{break;}
}while(true);
//获取上下站台对应的编号
Integer getOnNo=null;
Integer getOffNo=null;
Set<Entry<Integer,String>> set=map.entrySet();
for (Entry<Integer, String> e : set) {if(e.getValue().equals(getOn)){getOnNo=e.getKey();}if(e.getValue().equals(getOff)){getOffNo=e.getKey();}
}
//计算
int staNo=Math.abs(getOnNo-getOffNo);
int minutes=staNo*2;
double price=0;
switch(staNo){case 1:case 2:case 3:price=3;break;
case 4:case 5: price=4;break;
case 6:case 7:case 8:price=4+(staNo-5)*2;break;
case 9:case 10:case 11:case 12: price=10;break;
}
System.out.println("从"+getOn+"到"+getOff+"共经过"+staNo+"站," +"大约需要"+minutes+"分钟,共花费了"+price+"元钱");

HashMap和Set接口解决地铁收费问题相关推荐

  1. 地铁收费系统课程设计总结

    文章目录 前言 一.总体说明 1.1 算法设计规则 1.2 约束 二.操作说明 2.1初始化 2.2 请求扣费 2.3 查询扣费日志 2.4 查询扣费历史记录 2.5 注销票卡 三.附录 3.1 命令 ...

  2. java金蝶星空云金蝶Java 对接 金蝶云星空 接口 对接 金蝶API 对接 金蝶 接口 解决 会话失效 问题 会话已失效,请重新登录

    java金蝶星空云金蝶Java 对接 金蝶云星空 接口 对接 金蝶API 对接 金蝶 接口 解决 会话失效 问题 会话已失效,请重新登录 1.准备工作 1.1 接口调用账户 1.2 下载 金蝶星空云 ...

  3. Thinkphp5.1允许uni-app的H5跨域请求接口解决方法

    Thinkphp5.1允许uni-app的H5跨域请求接口解决方法 参考文章: (1)Thinkphp5.1允许uni-app的H5跨域请求接口解决方法 (2)https://www.cnblogs. ...

  4. Java HttpURLConnection模拟请求Rest接口解决中文乱码问题

    Java HttpURLConnection模拟请求Rest接口解决中文乱码问题 参考文章: (1)Java HttpURLConnection模拟请求Rest接口解决中文乱码问题 (2)https: ...

  5. AE开发中“无法嵌入互操作类型*****,请改用适用的接口”解决办法

    问题:在AE开发中遇到:"无法嵌入互操作类型*****,请改用适用的接口" 解决办法:在"项目解决方案"中找到"引用",找到报错出现的类对应 ...

  6. hashmap hash冲突怎么解决_10个HashMap问题搞定面试官

    废话不多说,看题: 1.说一下HashMap的数据结构? JDK1.7使用的是数组+ 单链表的数据结构. JDK1.8及之后时,使用的是数组+链表+红黑树的数据结构.当阈值是默认阈值0.75,链表的深 ...

  7. INamingContainer接口解决多个自定义控件ID冲突

    CreateChildControls方法一般用于创建组合控件,在此方法中可以创建多个自己需要的控件,进行实例化,赋值等等. 我们创建个复合控件,如下: public class CompositeC ...

  8. hashmap hash冲突怎么解决_HashMap原理及冲突之简谈

    了解HashMap原理对于日后的缓存机制多少有些认识.在网络中也有很多方面的帖子,但是很多都是轻描淡写,很少有把握的比较准确的信息,在这里试着不妨说解一二. 对于HashMap主要以键值(key-va ...

  9. 淘宝商品详情api接口(解决滑块支持高并发采集)

    采集淘宝商品列表和商品详情遇到滑块验证码的解决方法(带SKU和商品描述,可高并发),主要是解决了高频情况下的阿里系滑块和必须要N多小号才能解决的反扒问题,以后都可以使用本方法: 大家都知道,淘宝的反爬 ...

最新文章

  1. 《系统集成项目管理工程师》必背100个知识点-60干系人管理
  2. 高等数学上-赵立军-北京大学出版社-题解-练习5.1
  3. Idea自带的工具打jar包和Maven打Jar包(SpringBoot工程)
  4. 理解 webpack 热更新
  5. (14)数据结构-二叉排序树
  6. MCSkin3D我的世界皮肤制作器 中文补丁
  7. Redis集群原理分析
  8. java 分贝_java – wav文件中特定点的分贝值
  9. 7大Python就业岗位,你知道几种?自己选对了吗?
  10. 如何删除双系统中的ubuntu
  11. easyui treegrid php,jQuery EasyUI 数据网格与树插件 – Treegrid 树形网格 | 菜鸟教程
  12. java统计图表代码_java swing下用jfreechart开发图表统计情况
  13. linux 把进程调到前台,【如何将后台运行的程序转到前台来?】
  14. Ubuntu下使用opera的坑
  15. 拦截器重定义及user系统的安全问题
  16. 用Bootstrap框架制作下拉列表
  17. ocr识别+扫描仪应用方案
  18. 微信链接经常被秒封、被屏蔽、被拦截的最新微信防封方案
  19. 菜鸟必看 揭开系统资源的神秘面纱
  20. DMGI:Unsupervised Attributed Multiplex Network Embedding

热门文章

  1. Android SDK包功能介绍,中文开发API
  2. allure生成测试报告时乱码,allure‘ �����ڲ����ⲿ���Ҳ���ǿ����еij��� ���������ļ���
  3. 项目管理系统应该具有哪些功能
  4. 思维模型 边际效应递减法则
  5. 2012年11月5日 记录
  6. Linux显卡驱动安装
  7. 程序员数学基础【五、math库常用函数】(Python版本)
  8. Verilog数字系统教程学习——Verilog语法的基本概念
  9. tableau无法建立连接_Tableau入门(一):数据连接
  10. 【系统分析师之路】系统安全章节错题集锦