java地铁线路规划_地铁路线规划系统

个人项目—地铁路线规划系统设计及实现

问题综述:

b6b2f48ac7ffaa810422ee5b47f82ce3.png

提供一个城市(以北京市为例,如上图地铁线路图所示)的地铁线路图及其相关信息,通过程序计算指定两站之间最短(最少经过站数)乘车路线,输出指定地铁线路的所有站点。首先,将地铁线路信息保存在data.txt中便于理解与使用,具体格式如下:

线路名1 站名1 站名2 站名3 ...

线路名2 站名1 站名2 站名3 ...

线路名3 站名1 站名2 站名3 ...

......

将所有线路名以及站点名都存储在data文件中后,继续之后的功能实现。

需求分析:

输入地铁线路名称,显示整条地铁线路站点

输入两个地铁站名称,并为其规划最短线路并输出

输入某条地铁线路,显示该条线路上的所有站点

若输入的线路或站点不存在,显示错误提示

解决思路:

实现语言:JAVA

收集数据并设计数据存储方式读入数据并构建地铁图的数据结构

设计并确定寻找最短路径算法,以广度优先遍历(BFS)算法为核心算法

使用测试案例对程序进行debug测试

具体实现:

1 数据存储格式及读取

Json格式是一种轻量级的数据交换格式,相对于xml格式比较简洁且易读,因此本项目采用Json格式存储数据(同时,由此本项目在编程是需要使用额外jar包),具体形式如下:

1 {2 "lines": [3 {4 "lineNo": 1,5 "lineName": "1号线",6 "stations": [7 {8 "stationName": "苹果园"

9 },10 {11 "stationName": "古城"

12 },13 ......14 ]15 },16 {17 "lineNo": 2,18 "lineName": "2号线",19 "stations": [20 {21 "stationName": "积水潭"

22 },23 {24 "stationName": "鼓楼大街"

25 },26 ......27 ]28 },29 ......30 {31 "lineNo": 23,32 "lineName": "西郊线",33 "stations": [34 {35 "stationName": "香山"

36 },37      ......38 ]39 }40 ]41 }

将地铁站点数据存放在json文件中,并可利用自建函数readJsonFile读取,其中,readJsonFile函数如下:

1 import java.io.*;2

3 public classReadUtil {4 //读取json文件

5 public staticString readJsonFile(String fileName) {6 String jsonStr = "";7 try{8 //打开文件

9 File jsonFile = newFile(fileName);10 FileReader fileReader = newFileReader(jsonFile);11 Reader reader = new InputStreamReader(new FileInputStream(jsonFile),"utf-8");//一般采用utf-8编码规则

12 int ch = 0;13 StringBuffer sb = newStringBuffer();14 while ((ch = reader.read()) != -1) {15 sb.append((char) ch);16 }17 f

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值