地铁线路项目需求简要分析

需求:

  1. 实现一个命令行程序

  2. 参数:

    -map:来获得对应的自定义地铁文件(命名为 subway.txt),从而得到地铁线路图的信息

java subway -map subway.txt

    -a:指定用户希望查询的地铁线路

    -o:指定输出的文件

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

    -b:求取最短路径,该参数加两个地铁站点名称分别作为出发与目的

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

      输出文件格式:

3
洪湖里
西站
6号线
复兴路

  3. 测试:写出至少10个测试用例确保你的程序能够正确处理各种情况

初步思路:

  数据文件设计(subway.txt):

  将地图以文本格式输入,格式为(地铁线路号  站点名称  可换成地铁线路号)

1 刘园 0
1 西横堤 0
1 果酒厂 0
1 本溪路 0
1 勤俭道 0
1 洪湖里 0
1 西站 6
 ......
2 天津站 39 (特殊情况,三线交叉)
 ......

  读取txt文件后,用Json格式存储

{
"1号线": [
{ "siteName":"刘园" , "transfer":"0" },
{ "siteName":"西横堤" , "transfer":"0" },
{ "siteName":"果酒厂" , "transfer":"0" },
  ........
]
}
{
"2号线": [ { "siteName":"曹庄" , "transfer":"0" }, { "siteName":"卞兴" , "transfer":"0" }, { "siteName":"芥园西道" , "transfer":"0" }, ........ ] }
{
  ........
}
 

  以转站点为节点,连成一张图,边的权值为相隔的站点数

  当需要求取最短路径时,假设从刘园到天塔,将这两点加入图中,后使用Floyed算法或Dijstra算法计算最短路径

猜你喜欢

转载自www.cnblogs.com/zky0320/p/11550388.html