2019北航软工暑期班作业-预培训个人项目(地铁线路规划)

一、相关文章推荐

推荐文章(有图解,有简易代码说明),比较容易理解Dijkstra(迪杰斯特拉)算法。

https://www.jianshu.com/p/ff6db00ad866

二、PSP表

三、项目说明

1、为以免cmd中运行出错,在TestMain下的test中写有测试案例。

  

 

2、实体类

 

Station为站点类,Result为结果类

站点类Station包含变量:站点名、所属地铁线、相邻站点集合。

结果类Result包含变量:起始站、终止站、距离(站台数)、中间经过站点。

 

3、Demo包下的test 用于理解Dijstra算法思想

 

 

4、DistanceBuilder包括各种读取方法

 

 

包括存储地铁信息的变量,以及读取地铁信息、写入地铁信息的方法,以及其他读取信息的辅助方法(通过站点名得到相应地铁线号、 通过站点Station对象得到相应地铁线号)

 

5、 DijstraUtil

该类是Dijstra算法的实现类(可结果Demo包下的test类)

 

 

四、运行说明

说明: cmd中运行之前,将out/production/Dijkstra中的station.txt和routine.txt的内容清空(清空原因是因为信息之追加的形式写入,如果不清空,会有多次运行的结果,以免混淆)(一定不要将subway.txt内容清空,是地铁信息)

 

 

注意:在cmd中运行subway(包含main函数的类),通过命令:

 “java subway”即可。 由于subway要识别不同命令参数,则必须按照严格格式。

 

(1) 读取subway.txt文件:

命令:

“java subway -map subway.txt”

(2)  读取某条路线的地铁站点信息:

命令:

 “java subway -a 1号线 -map subway.txt -o station.txt”

说明:

  读取的信息写入station.txt文件中。

 

Station.txt内容:

 

(3) 读取两站点之间的信息:

命令:

java subway -b 洪湖里 复兴路 -map subway.txt -o routine.txt

   说明:

     两站点之间的信息写入routine.txt中,和station.txt同级。注意目录为out/production/Dijstra下。

   说明routine.txt内容

  

 

 

五、GitHub:

         https://github.com/liaoxuehua/2019SubWay

   

posted @ 2019-07-21 21:37  川师现代软件工程  阅读(431)  评论(0编辑  收藏  举报