1.广州地铁二号线站编号和站名对应关系如下:
1=广州南站、2=石壁、3=会江、4=南浦、5=洛溪、6=南洲、7=东晓南、8=江泰路、9=昌岗、10=江南西、11=市二宫、12=海珠广场、13=公园前、14=纪念堂、15=越秀公园、16=广州火车站、17=三元里、18=飞翔公园、19=白云公园、20=白云文化广场、
21=萧岗、22=江夏、23=黄边、24=嘉禾望岗
将以上对应关系的数据存储到map集合中,key:表示站编号,value:表示站名,并遍历打印
2.计算地铁票价规则:
总行程3站内(包含3站)收费2元,
3站以上但不超过6站(包含6站)的收费4元,
6站以上的,在4元的基础上,每多2站增加1元,不够2站的也按2站算,
10元封顶;
3.打印格式(需要对键盘录入的上车站和到达站进行判断,如果没有该站,提示重新输入,
直到站名存在为止):注意:每站需要2分钟
请输入上车站:
沙河
您输入的上车站:【沙河】不存在,请重新输入上车站:
上地
您输入的上车站:【上地】不存在,请重新输入上车站:
广州南站
请输入到达站:
沙河
您输入的到达站:【沙河】不存在,请重新输入到达站:
西二旗
您输入的到达站:【西二旗】不存在,请重新输入到达站:
海珠广场
从【广州南站】到【海珠广场】共经过11站收费9元,大约需要22分钟

public class Station {private Map<Integer,String> map = new HashMap<Integer, String>();/*** 初始化map站点数据*/public void initMap(){String s = "1=广州南站、2=石壁、3=会江、4=南浦、5=洛溪、6=南洲、7=东晓南、8=江泰路、9=昌岗、10=江南西、11=市二宫、12=海珠广场、13=公园前、14=纪念堂、15=越秀公园、16=广州火车站、17=三元里、18=飞翔公园、19=白云公园、20=白云文化广场、21=萧岗、22=江夏、23=黄边、24=嘉禾望岗";//把站点信息存入到map对象中String[] array = s.split("、");for(String str:array) {String[] array2 = str.split("=");map.put(Integer.parseInt(array2[0]), array2[1]);}}/*** 遍历map所有元素*/public void showMap() {//遍历map所有元素for(Iterator<Map.Entry<Integer, String>> it = map.entrySet().iterator();it.hasNext();) {Map.Entry<Integer, String> e = it.next();System.out.println("第"+e.getKey()+"站:"+e.getValue());}}/*** 获取所有站点信息* @return*/public Collection<String> getStations(){//获取所有的站点return map.values();}/*** 根据站点名称获取站点编号* @param name  站点名称* @return*/public int getNoByName(String name) {for(Iterator<Map.Entry<Integer, String>> it = map.entrySet().iterator();it.hasNext();) {Map.Entry<Integer, String> e = it.next();if(e.getValue().equals(name)) {return e.getKey();}}return 0;}/*** 根据站点编号计算票价* @param upNo        上车站编号* @param downNo   到达站编号* @return*/public int getPrice(int upNo,int downNo) {int cha = Math.abs(downNo-upNo);//求绝对值int price = 0;if(cha<=3) {price = 2;}else if(cha<=6) {price = 4;}else if(cha<=16) {int a = (cha-6)/2;if((cha-6)%2!=0) {a++;}price = 4 + a;}else {price = 10;}return price;}
}
public class Test2 {public static void main(String[] args) {Station s = new Station();s.initMap();s.showMap();Scanner sc = new Scanner(System.in);System.out.println("请输入上车站:");//获取所有的站点Collection<String> list = s.getStations();//上车站名称String up = null;//到达站名称String down = null;while(true) {up = sc.next();if(list.contains(up)) {break;}System.out.println("您输入的上车站:【"+up+"】不存在,请重新输入上车站:");}System.out.println("请输入到达站:");while(true) {down = sc.next();if(list.contains(down)) {break;}System.out.println("您输入的到达站:【"+down+"】不存在,请重新输入到达站:");}int upNo = s.getNoByName(up);int downNo = s.getNoByName(down);int cha = downNo-upNo;int price = s.getPrice(upNo, downNo);System.out.println("从【"+up+"】到【"+down+"】共经过"+cha+"站收费"+price+"元,大约需要 "+(cha*2)+"分钟");}
}

java 地铁二号线站编号和站名的练习相关推荐

  1. Cypher制作数据-武汉地铁二号线

    在朋友要求下,需要帮他完成一些数据的制作. 具体制作过程就不说了,用create语句创造节点和关系即可. 下面直接上图 数据下载 需要这份简单数据的,可以加群QQ:587145830,欢迎大家前来交流 ...

  2. 【佛山】地铁2号线“海口站”改“张槎站”设7换乘站

    佛山地铁2号线一期工程有17个车站,除广州南站外,其他16个车站全部位于佛山市境内.近日,佛山市民政局对一期工程车站名称进行了批复,敲定16个车站站名,今后该条线路所有地名标志将严格按照这些名称来设置 ...

  3. 统计地铁一号线站点Python

    [问题描述] 将下面的字符串根据顿号分解成一个站名列表 "堰桥.锡北运河.西漳.天一.刘潭.庄前.民丰.无锡火车站.胜利门.三阳广场.南禅寺.谈渡桥.太湖广场.清名桥.人民医院.华清大桥.扬 ...

  4. 在武汉火车站转车需要出现吗_武汉火车站可以在站内换乘哪些站 武汉地铁6号线和1号线/13号线换乘...

    武汉火车站位于地铁4号线上,目前武汉火车站不可以站内换乘,因为它不是换乘站,不过在武汉地铁规划中,将来会有地铁10号线.5号线.19号线等换乘.此外我们再来了解一下武汉地铁6号线和1号线/13号线换乘 ...

  5. 东莞地铁1号线东城南站~同沙公园站左线盾构始发

    2021年7月17日,东莞地铁1号线东城南站~同沙公园站区间(以下简称"东~同"区间)左线隧道盾构顺利始发,标志着全面进入施工高潮."东~同"区间左线全长155 ...

  6. 北京地铁21号线_北京迎来地铁大动脉,设有21站,全为地下线,沿线市民幸运了...

    一座城市快速的发展,除了经济水平,科教能力,还和交通分不开,交通的完善有利于城市的发展,修路致富四个字,想必人人都听过,只有交通发达,城市才会发展得更迅速,而北京就是这么一座城市,它有完善的交通网,北 ...

  7. 东莞地铁1号线水濂山站至2#风井区间左线贯通,同沙公园站至水濂山站区间左线盾构始发

    2022年8月20日,东莞地铁1号线水濂山站至2#风井区间左线贯通,该区间左线全长2829.971米,是埋深最浅的区间盾构隧道,地质和环境复杂多变,施工难度大.安全风险高.同沙公园站至水濂山站区间左线 ...

  8. 东莞地铁1号线东城南站至同沙公园站右线盾构贯通

    2021年12月27日下午15时,伴随着现场施工人员的欢呼声,"中铁70号"盾构机刀盘破土而出,东莞地铁1号线东城南站至同沙公园站区间右线顺利贯通,为实现全线洞通打下了坚实基础.& ...

  9. 实勘丨龙岗南约炳坑京基旧改项目,地铁14号线宝荷站零距离!

    南约炳坑村京基地产旧改 项目位置:深圳市龙岗宝龙与南约片区结合部占地面积:153812.4㎡ 建筑面积:1025285.8㎡ 容积率:4.91物业类型:商业.住宅.办公 目前为止,大部分已拆迁,实地考 ...

最新文章

  1. axure日期选择器控件_JavaFX 控件 - 输入 (Control - Inputs)
  2. 无法显示服务器级别,URL Rewrite会导致“无法显示此页面”
  3. 如何进入游戏行业_进入设计行业
  4. 如何在Chrome中保存您当前的所有标签,以便以后阅读
  5. 开年趣图汇总:对不起,让你笑了这么久
  6. EDIUS插件如何安装?
  7. Kubernetes 小白学习笔记(8)--kubernetes的基础概念
  8. unix下ODBC连接MySQL编程_通过unixODBC访问PostgreSQL数据库
  9. 使用Maven构建Eova项目
  10. 人工智能课程设计报告
  11. monodepth2训练细节
  12. TCP四次挥手的等待时间为什么是2MSL而不是1MSL
  13. 模式识别教材书选择填空期末汇总
  14. vscode注释代码后无法将其折叠,在注释掉的代码前后分别加上//#regin和//#endregion
  15. pppd详解_pppd命令使用详解
  16. 电子邮件格式是什么,你知道电子邮件在哪里找吗
  17. 关于api-ms-win-crt-runtimel1-1-0.dll缺失引发的解决方案
  18. 入门首选,Requests 库的基本使用
  19. 全志V3s学习记录(4)uboot:开机logo
  20. 02 ,seaborn 调色板 : 指定颜色,颜色数量,连续颜色,线性渐变

热门文章

  1. 图片朦胧效果-------《一见钟情》
  2. 通信工程专业毕设选题方向【题目推荐】
  3. 三星Galaxy Book2 Pro和Galaxy Book2 Pro 360 评测怎么样
  4. SQL学习笔记——REGEXP运算符
  5. Zookeeper基本使用
  6. 《听我说谢谢你》简谱
  7. 如何快速找到志同道合的人?看这一篇就够了
  8. 用Android模拟器体验angry birds
  9. php 微信表情 转码和解码方法
  10. 深度学习环境配置 (Ubuntu18.04 + CUDA10.0 + cuDNN7.6.5 + TensorFlow2.0)