当前位置: 首页 > news >正文

基于Java实现(界面)全国交通咨询模拟系统

1. 实验内容

全国交通咨询模拟

使用语言:Java语言

编译环境:openJDk-1.8

2. 问题描述

处于不同目的的旅客对交通工具有不同的要求。例如,因公出差的旅客希望在旅途中的时间尽可能地短,出门旅游的游客期望旅费尽可能省,而老年旅客则要求中转次数最少。本题目要求编制一个全国城市的交通咨询程序,为旅客提供两种或三种最优决策的交通咨询。具体要求如下:

  • 提供对城市信息进行编辑(如:添加或删除)的功能。
  • 城市之间的交通工具是火车。提供对列车时刻表的管理功能(增加,删除,查询,修改)。
  • 提供两种最优决策:最快到达和最省钱到达。
  • 旅途中耗费的总时间应该包括中转站的等候时间。
  • 咨询以用户和计算机的对话方式进行。由用户输入起始站、终点站、最优决策原则,输出信息:最快需要多长时间才能到达或者最少需要多少旅费才能到达,并详细说明依次于何时乘坐哪一趟列车或哪一次班机到何地。

3. 需求分析

经过分析,本系统需完成的主要功能如下:

  • 设计城市地图的类
  • 设计站点(有向边)的类
  • 设计实现弗洛伊德算法解决多源最短路径问题
  • 通过文件读取写入修改站点城市班次等信息
  • 设计工具类方法完成时间的计算
  • 设计可视化界面进行交互操作

4. 概要设计

-=ADT=- { boolean setURL(String newURL); //设置操作文件路径 ArrayList<String> getPermulation(int[] arr); //获取全排列的所有可能 BufferedReader getBr(String vehicle); //获取对应的BufferedReader boolean addInfo(String vehicle,String info); //添加指定信息到指定文件中 boolean deleteInfo(String vehicle,String start,String end); //删除文件中的信息 String transformTime(int costTime); //将分钟(整形)转化为x小时x分钟的字符串形式 StringBuilder getPathInfo(String path,String vehicle,String bestChoice,int costInfo); //获取路径的具体信息,从文件中读取挑选并存入StringBuilder中,并返回StringBuilder MGraph readInfo(String vehicle); //从指定文件中读取数据,生成一个MGraph对象并返回 void FinishPath(MGraph mg); //完成路径 int addWaitTime(MGraph mg,int v,int u,int w); //添加中转站的等待时间 int getCostTime(String date1,String date2); //传入两个字符类型的时间,计算出两个时间的差值 }

5. 存储结构

使用邻接矩阵的形式存储图

6. 算法流程图

设置顶点 vi 到顶点 vk 的最短路径已知为 Lik,顶点 vk 到 vj 的最短路径已知为 lkj,顶点 vi 到 vj 的路径为 li,则 vi 到 vj 的最 短路径为: min(Lk+Lkj),Lij), vk 的取值为图中所有顶点,则可获得 vi 到 vj 的最短路径。

至于 vi 到 vk 的最短路径 Lik 或者 vk 到 vj 的最短路径 Lkj,是以同样的方式获得。

7. 算法时间复杂度分析

使用弗洛伊德算法时间复杂度为 O(n3)

8. 调试分析

在有向图的重新构建的时候易出现空指针异常,由于弗洛伊德算法循环量较大,调试时出现问题时需要多点定位寻找错误点,在判断齐之后又出现了以下问题:

【问题一】

现象:时间输出出现错误。

原因:加入额外的时间解析类。例如在 12:00 11:00 中间的时间应该为 23 个小时而非-1 小时或 1 小时,当前后时间差为负数时应 +24 小时而进行计算。并在优化体验中计算的单位为小时和分钟,应注意分钟为 60 进制。

【问题二】

现象:ImageView 组件图片无法加载。

原因:路径文件夹应加载在 out 文件夹下。Fxml 的路径设置和 Java 默认的路径设置不尽相同,Java 中的相对路径默认实现是从工程文件的根目录开始寻址,而 JavaFx 是从当前文件夹通过相对路径寻址。

9. 运行结果及分析

9. 参考文献

梁勇著,戴开宇译,《Java 语言程序设计与数据结构》(进阶篇)(原书第 11 版),机械工业出版社,2018

♻️ 资源

大小:802KB

➡️资源下载:https://download.csdn.net/download/s1t16/87415705

注:更多内容可关注微信公众号【神仙别闹】,如当前文章或代码侵犯了您的权益,请私信作者删除!

http://www.jsqmd.com/news/410515/

相关文章:

  • 2026 年 AI 毕业论文写作工具全景测评:10款工具谁才是本科毕业的 “通关神器”?
  • 收藏!AI正在淘汰这些岗位,程序员必看(附避坑+逆袭指南)
  • 一文学会基于LangChain开发大模型RAG知识问答应用
  • 关系型数据库中行级子查询和连表查询的区别以及如何选择(学习笔记)
  • 智写赋能,学途无界:PaperXie 本科毕业论文功能的 “精准适配” 与 “深度赋能”
  • 3 万字硕士论文通关实录:我靠 paperxie 跳出 “选题 - 改稿 - 格式” 三重死循环
  • 2026年上海智推时代联系方式公示,GEO 优化咨询便捷入口 - 速递信息
  • 基于C++ 哈夫曼编码 实现(控制台)文件加密系统
  • PaperXie 本科毕业论文写作功能详解:智能辅助,规范完成本科毕业论文全流程
  • 2026年激光雷达厂家推荐排行榜:毫米波/三维扫描/高精度/防撞避障/测距定位/安防监测/自动装车/体积测量/盘库盘料等工业传感器实力品牌深度解析 - 品牌企业推荐师(官方)
  • 2026最新AI大模型学习路线:(非常详细)AI大模型学习路线,收藏这一篇就足够了
  • 世毫九理论体系演进研究:从结构同构到动力学共生——碳硅共生本体论与双核驱动机制构建
  • 好写作AI:零基础搞定定量分析,AI教学
  • 芯片ILD层:多层互连的“绝缘基石”
  • 智能学术辅助视角下本科毕业论文写作实践 —— 以 PaperXie 功能应用为例
  • springboot127-基于springboot的数字资源共享平台
  • 216页满分PPT | 数字化转型企业数字驾驶舱解决方案
  • 解决NCM文件跨平台兼容难题的格式转换工具:ncmdumpGUI全解析
  • 好写作AI:最后一次作业,我要拿优秀
  • 2026年评价高的国际航空货运/无锡航空货运推荐与选择指南公司 - 行业平台推荐
  • 给 Claude Code 加了个状态栏,效率真的不一样!!
  • springboot129-基于Java的亚运会志愿者管理系统的设计与实现
  • 2026年评价高的自动旋转门定制/自动旋转门配件直销厂家采购指南如何选 - 行业平台推荐
  • 2026年2月搪瓷管道厂家推荐,专业制造与全流程售后保障 - 品牌鉴赏师
  • springboot128-基于JavaScript的在线考试系统
  • 2026年有实力的PCB在线计价下单,PCB打板做板,PCB打样厂家采购决策榜单 - 品牌鉴赏师
  • 盘点长效的植物基饮料商家信誉,靠谱的品牌有哪些? - 工业品牌热点
  • 2026年口碑好的可折叠围板箱/塑料围板箱畅销厂家采购指南如何选 - 行业平台推荐
  • 2026年知名的化工品空运公司/空运公司最新推荐 - 行业平台推荐
  • 2026年比较好的新宋式别墅设计/贵州别墅设计实用选择参考企业 - 行业平台推荐