




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业论文(设计)题 目 校园导游咨询 系 部 专 业 学生姓名 学 号 指导教师 四川大学锦江学院毕业论文(设计)I校园导游咨询【摘 要】随着高校校园的逐渐扩建,来访校园的各界人士逐渐增多,为了提高学校的知名度,需要给来访者提供校园景点信息查询服务,利用计算机建立一个自动的导游系统可以很好的解决这个问题,此系统的咨询过程为:当客人来访时, 系统能根据用户指定的景点提供相关的信息,并能提供任意景点间的问路查询,即根据给定的起点和终点,查询两者之间的一条最短的简单路径。本系统设计侧重于软件工程规范的分析、设计及测试,采用了结构化程序设计思想,通过功能模块分级实现系统功能。【关键词】校园导游 Dijkstra 算法 Java 数据库 四川大学锦江学院毕业论文(设计)IICampus Guide Consulting【Abstract】With the gradual expansion of campus, visiting the campus community have gradually increased, in order to enhance the schools reputation, need to provide campus visitors attractions information inquiry service, a computer automatic tour guide system can solve this problem, this The consultation process for the system: When guests visit, the system according to user-specified sites provide relevant information, and can provide any attractions between the query to ask the way, that according to the given start and end, between a query the shortest simple path. The system design focuses on the analysis of software engineering specification, design and testing, using a structured programming ideas, through the functional module classification system functions.【key words】Campus Guide Dijkstra algorithm java Database四川大学锦江学院毕业论文(设计)III目 录绪论 .11 问题描述 .21.1 题目内容 .21.2 研究背景 .21.3 研究思路 .21.4 技术介绍 .21.4.1 Java 简介 .21.4.2 Swing 简介 .41.4.3 Dijkstra 算法 .51.5 数据要求 .61.5.1 定义无向网的存储方式为邻接表 .61.5.2 用 Dijkstra 算法计算出任意两点间最短距离的思路 .72 分析与设计 .82.1 功能描述 .82.2 程序流程图的设计 .82.2.1 Dijkstra 算法 .82.2.2 数据库插入 .92.3 数据库结构描述 .102.3.1 数据库设计 .102.3.2 设置数据源 .102.4 测试数据及期望结果 .102.4.1 地图显示 .102.4.2 节点信息查询 .102.4.3 任意两个节点之间最短路径及距离查询 .112.4.4 将查询结果存储到数据库 .112.4.5 浏览历史记录 .112.5 模块结果及各个模块实现方式描述 .122.5.1 地图显示 .122.5.2 节点信息查询 .132.5.3 任意两个节点之间最短路径及距离查询 .142.5.4 将查询结果存储到数据库 .152.5.5 浏览历史记录 .152.5.6 界面显示 .163 源代码选摘 .183.1 地图显示 .183.2 Dijkstra 算法实现 .183.3 最短路径查询结果插入数据库 .243.4 历史记录查询 .25结论 .27参考文献 .29致 谢 .30四川大学锦江学院毕业论文(设计)1绪论建院四年来,我们锦江学院各项工作开展迅速,正朝着建设现代大学方向迈进。现代大学的一个突出特点就是具有开放性。开放,就意味着对外交流日益增多。为了方便来访者参观、办事,同时提高学院的知名度,我们有必要设计一个界面简洁美观、功能齐全、操作方便的校园导游咨询系统。目前流行的导游系统,多存在以下几大严重问题:(1)侧重于多媒体的演示 ,虽然界面丰富 ,但缺少景点间的地理位置的分析和应用。 (2)即使使用地图来说明景点间的相对位置关系 ,但无法选择景点间的最短路径和求景点间最短距离 。 (3)即使使用电子地图 ,能进行简单的整体放大 、缩小 、移动操作 ,但对局部的地理区域 、地理对象的操作 ,如景点的查询等 ,则难以完成 ,因此缺少了灵活性。根据以上缺陷 ,我将以程序化的语言来编译一个校园导游系统 ,其主要实现地图显示、景点信息查询、及任意两点间最短路径以及距离的查询。此外,我还将建立数据库,把查询结果完整保存,并可随时查询历史记录。该系统主要针对旅游者来设计 ,系统界面友好 ,简单易用。四川大学锦江学院毕业论文(设计)21 问题描述1.1 题目内容1功能描述:设计你的学校的校园平面图,所含景点不少于 10 个。以图中顶点表示学校各景点,存放景点名称,代号,简介等信息;以边表示路径,存放路径长度等相关信息。2为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。3为来访客人提供图中任意景点相关信息的查询。1.2 研究背景随着高校校园的逐渐扩展,校园透明度的逐渐提高,来访校园的人士逐渐增多,以前封闭或者半封闭的校园状况随之改变,派生出它积极的迎接挑战的状态。高校校园旅游在掀起“羞答答的头盖”后 ,正悄然走向市场,一个完整的校园导游系统必不可少。它具有很强的实用性,可以作为一种校园旅游的导游业务管理系统,更是可以用作校园介绍。它将是一个校园的第一招牌。1.3 研究思路我采用结构化程序设计思想,通过功能模块分级实现其功能。我们的系统功能模块主要由地图显示、节点信息查询、任意两个节点间的最短路径及距离查询、最短路径查询结果保存到数据库、查询历史记录五大部分组成 ,它们能基本满足游客对校园景点信息查询的需要。将锦江学院校园平面图抽象为一个无向带权图 ;其次 ,选择最短路径算法,我采用Dijkstra 算法,它可方便的求出从始点到终点的最短路劲,且它的时间复杂度比较低。1.4 技术介绍1.4.1 Java 简介Java,是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java四川大学锦江学院毕业论文(设计)3平台的总称。用 Java 实现的 HotJava 浏览器(支持 Java applet)显示了 Java 的魅力:跨平台、动态的 Web、Internet 计算。从此,Java 被广泛接受并推动了 Web 的迅速发展,常用的浏览器现在均支持 Java applet。Java 平台由 Java 虚拟机(Java Virtual Machine)和 Java 应用编程接口(Application Programming Interface、简称 API)构成。Java 应用编程接口为 Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个 Java 平台之后,Java 应用程序就可运行。现在 Java 平台已经嵌入了几乎所有的操作系统。这样 Java 程序可以只编译一次,就可以在各种系统中运行。Java 是 一 种 简 单 的 , 面 向 对 象 的 , 分 布 式 的 , 解 释 型 的 , 健 壮 安 全 的 , 结 构 中 立的 , 可 移 植 的 , 性 能 优 异 、多 线 程 的 动 态 语 言 。Java 分 为 三 个 体 系 JavaSE(Java2 Platform Standard Edition, java 平 台 标准 版 ), JavaEE(Java 2 Platform,Enterprise Edition, java 平 台 企 业 版 ),JavaME(Java 2 Platform Micro Edition, java 平 台 微 型 版 )。Java 主要特性1、Java 语言是简单的。Java 语言的语法与 C 语言和 C+语言很接近,使得大多数程序员很容易学习和使用 Java。另一方面,Java 丢弃了 C+ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java 语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。2、Java 语言是一个面向对象的。Java 语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为 implements) 。Java 语言全面支持动态绑定,而 C+ 语言只对虚函数使用动态绑定。总之,Java 语言是一个纯的面向对象程序设计语言。3、Java 语言是分布式的。Java 语言支持 Internet 应用的开发,在基本的 Java 应用编程接口中有一个网络应用编程接口() ,它提供了用于网络应用编程的类库,包括 URL、URLConnection、Socket、 ServerSocket 等。Java 的 RMI(远程方法激活)机制也是开发分布式应用的重要手段。4、Java 语言是健壮的。Java 的强类型机制、异常处理、废料的自动收集等是 Java程序健壮性的重要保证。对指针的丢弃是 Java 的明智选择。Java 的安全检查机制使得Java 更具健壮性。5、Java 语言是安全的。Java 通常被用在网络环境中,为此,Java 提供了一个安全机制以防恶意代码的攻击。除了 Java 语言具有的许多安全特性以外,Java 对通过网络下载的类具有一个安全防范机制(类 ClassLoader) ,如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类 SecurityManager)让 Java 应用设置安全哨兵。6、Java 语言是体系结构中立的。Java 程序(后缀为 java 的文件)在 Java 平台上四川大学锦江学院毕业论文(设计)4被编译为体系结构中立的字节码格式(后缀为 class 的文件), 然后可以在实现这个Java 平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。7、Java 语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java 还严格规定了各个基本数据类型的长度。Java 系统本身也具有很强的可移植性,Java 编译器是用 Java 实现的,Java 的运行环境是用 ANSI C 实现的。8、Java 语言是解释型的。如前所述,Java 程序在 Java 平台上被编译为字节码格式,然后可以在实现这个 Java 平台的任何系统中运行。在运行时,Java 平台中的 Java 解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。9、Java 是高性能的。与那些解释型的高级脚本语言相比,Java 的确是高性能的。事实上,Java 的运行速度随着 JIT(Just-In-Time)编译器技术的发展越来越接近于 C+。10、Java 语言是多线程的。在 Java 语言中,线程是一种特殊的对象,它必须由Thread 类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable) 的构造子将一个实现了 Runnable 接口的对象包装成一个线程,其二,从 Thread 类派生出子类并重写 run 方法,使用该子类创建的对象即为线程。值得注意的是 Thread 类已经实现了 Runnable 接口,因此,任何一个线程均有它的 run 方法,而 run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。 Java 语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为 synchronized) 。11、Java 语言是动态的。Java 语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java 中的类有一个运行时刻的表示,能进行运行时刻的类型检查。Java 语言的优良特性使得 Java 应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java 对对象技术的全面支持和 Java 平台内嵌的 API 能缩短应用系统的开发时间并降低成本。Java 的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是 Java 企业应用编程接口(Java Enterprise APIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。1.4.2 Swing 简介Swing 是一个用于开发 Java 应用程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing 开发人员只用很少的代码就可以利用 Swing 丰富、灵活的功能和模块化组件来创建优雅的用户界面。AWT是 Swing 的基础,而 Swing 是 AWT 的改进。Swing 产生的主要原因就是 AWT 不能满足图形化用户界面发展的需要。AWT 设计的四川大学锦江学院毕业论文(设计)5初衷是支持开发小应用程序的简单用户界面。AWT 缺少剪贴板、打印支持、键盘导航等特性;AWT 功能较弱,它甚至不包括弹出式菜单或滚动窗格等基本元素。此外,AWT 体系结构还存在着其他一些严重的缺陷。Swing 组件几乎都是轻量级组件,与 AWT 相对的重量级组件相比,Swing 没有本地的对等组件,不像重量级组件那样要在它们自己本地的不透明窗体中绘制,轻量级组件会在它们的重量级组件的窗口中绘制。Swing 的体系结构,见图 1.1:图 1.1Swing 的主要特性:1. Swing 是由 100%纯 Java 实现的,Swing 组件是用 Java 实现的轻量级(light-weight )组件,没有本地代码,不依赖操作系统的支持,这是它与 AWT 组件的最大区别。由于AWT 组件通过与具体平台相关的对等类(Peer)实现,因此, Swing 比 AWT 组件具有更强的实用性。Swing 在不同的平台上表现一致,并且有能力提供本地窗口系统不支持的其他特性。2. Swing 采用了一种 MVC 的设计范式,即“模型-视图- 控制器” (Model-View-Controller) ,其中,模型用来保存内容,视图用来显示内容,控制器用来控制用户输入。3. Swing 采用可插入的外观感觉(Pluggable Look and Feel,PL&F) 。相对而言,在 AWT组件中,由于控制组件外观的对等类与具体平台相关,使得 AWT 组件总是只有与本机相关的外观。而 Swing 使得程序在一个平台上运行时能够有不同的外观,用户可以选择自己习惯的外观。1.4.3 Dijkstra 算法Dijkstra(迪 杰 斯 特 拉 )算 法 是 典 型 的 单 源 最 短 路 径 算 法 , 用 于 计 算 一 个 节 点 到其 他 所 有 节 点 的 最 短 路 径 。 主 要 特 点 是 以 起 始 点 为 中 心 向 外 层 层 扩 展 , 直 到 扩 展 到 终点 为 止 。 Dijkstra 算 法 是 很 有 代 表 性 的 最 短 路 径 算 法 , 在 很 多 专 业 课 程 中 都 作 为 基 本四川大学锦江学院毕业论文(设计)6内 容 有 详 细 的 介 绍 , 如 数 据 结 构 , 图 论 , 运 筹 学 等 等 。 Dijkstra 一 般 的 表 述 通 常 有两 种 方 式 , 一 种 用 永 久 和 临 时 标 号 方 式 , 一 种 是 用 OPEN, CLOSE 表 的 方 式 。 注 意 该算 法 要 求 图 中 不 存 在 负 权 回 路 。1.5 数据要求1.5.1 定义无向网的存储方式为邻接表在邻接表中,对网中每个顶点建立一个单链表,第 i 个单链表中的结点表示依附于顶点 vi 的边(对有向网是以顶点 vi 为尾的弧) 。每个结点由三个域组成,其中邻接点域(adjvex)指示与顶点 vi 邻接的点在网中的位置,链域(nextarc)指示下一条边或弧的结点;数据域(info)存储和边或弧相关的信息,如权值等。每个链表上附设一个表头结点,包含链域(firstarc)指向链表中第一个结点,还设有存储顶点 vi 的名或其它有关信息的数据域(data)。如:表节点 头节点data firstarc方法如下:public class GraphAdjList /类GraphAdjList的每一个对象对应一个结点的邻接链表。NextAdjNode firstNode = null; /与此结点邻接的第一个结点信息。public GraphAdjList(NextAdjNode first) /通过传送一个与此结点邻接的第一个结点来构造此结点的邻接链表。firstNode = first; /与此结点邻接的第一个结点。class NextAdjNode /网中对应于此结点所在邻接链表表头结点的邻接结点的信息。int nodeNum; /邻接结点的索引。int edgeWeight; /结点与其邻接结点之间的边的权值。NextAdjNode nextNode = null; /结点所在邻接链表中的下一个邻接结点及其信息。public NextAdjNode(int node, int weight) /通过邻接结点的索引及其与所在adjvex nextarc info四川大学锦江学院毕业论文(设计)7邻接链表表头结点之间的边的权值来构造一个新的邻接结点对象。nodeNum = node; /邻接结点索引。edgeWeight = weight; /邻接结点与所在邻接链表表头结点之间的边的权值。1.5.2 用 Dijkstra 算法计算出任意两点间最短距离的思路假设每个点都有一对标号 (dj, pj),其中 dj 是从起源点 s 到点 j 的最短路径的长度 (从顶点到其本身的最短路径是零路(没有弧的路),其长度等于零);pj 则是从 s 到 j的最短路径中 j 点的前一点。求解从起源点 s 到点 j 的最短路径算法的基本过程如下:1.初始化。起源点设置为: ds=0, ps 为空; 所有其他点: di=, pi=?; 标记起源点 s,记 k=s,其他所有点设为未标记的。2.检验从所有已标记的点 k 到其直接连接的未标记的点 j 的距离,并设置: dj=mindj, dk+lkj 式中,lkj 是从点 k 到 j 的直接连接距离。3.选取下一个点。从所有未标记的结点中,选取 dj 中最小的一个 i: di=mindj, 所有未标记的点 j 点 i 就被选为最短路径中的一点,并设为已标记的。4.找到点 i 的前一点。从已标记的点中找到直接连接到点 i 的点 j*,作为前一点,设置: i=j*5.标记点 i。如果所有点已标记,则算法完全推出,否则,记 k=i,转到 2) 再继续。四川大学锦江学院毕业论文(设计)82 分析与设计2.1 功能描述1.地图显示:将川大锦江院的平面图输出到电脑屏幕上的相应区域。2.节点信息查询:选择任意节点时将任意节点信息输出到电脑屏幕上的相应区域。3.任意两个节点之间最短路径及距离查询:通过选择起始节点和目标节点,查询任意两个节点之间的最短路径及距离。结果输出到屏幕相应区域。4.将查询结果存储到数据库:将每次查询的结果存储到数据库中。5.浏览历史记录:将数据库中的历史记录输出到屏幕的相应区域。2.2 程序流程图的设计2.2.1 Dijkstra 算法四川大学锦江学院毕业论文(设计)9调用迪杰斯特拉算法 Dijkstra初始化带权长度 dv设空路径 pvw初始化 v0 顶点属于 s 集i distanceTempi) & (distanceTempi currentPathLength) & (i != sourceNode) temp = distanceTempi;nextNodeTemp.clear();nextNodeTemp.add(new Integer(i); else if (temp = distanceTempi) 四川大学锦江学院毕业论文(设计)23nextNodeTemp.add(new Integer(i);int nextNodes = new intnextNodeTemp.size();for (int i = 0; i nextNodeTemp.size(); i+) nextNodesi = (Integer)nextNodeTemp.get(i).intValue();return nextNodes;private void updateDistance(int currentNodes, int distanceTemp) /根据本次找到的结点数组,对源结点到各点的距离进行更新。/如果距离变小了,就修改这个距离和这个结点的前驱结点。/如果距离与原来的距离相等,则将本次找到的节点数组中的某个结点追加到这个结点的前驱结点链表中。for (int i = 0; i currentNodes.length; i+) NextAdjNode temp = null;if (graphAdjListcurrentNodesi != null) temp = graphAdjListcurrentNodesi.firstNode;while (temp != null) if (distanceTempcurrentNodesi + temp.edgeWeight distanceTemptemp.nodeNum) distanceTemptemp.nodeNum = distanceTempcurrentNodesi + temp.edgeWeight;preNodestemp.nodeNum.anotherPreNode = null;preNodestemp.nodeNum.preNode = currentNodesi; else if (distanceTempcurrentNodesi + temp.edgeWeight = distanceTemptemp.nodeNum) append(preNodestemp.nodeNum, currentNodesi);四川大学锦江学院毕业论文(设计)24temp = temp.nextNode;3.3 最短路径查询结果插入数据库public void update() throws SQLException /将本次查询结果存储到数据库result中。tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver); /建立JDBC-ODBC桥接器。catch(ClassNotFoundException e)System.out.print(+e);try /建立和数据库的连接。String urlString = jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=+(CampusGuide.class.getResource()+result.mdb).split(file:/)1;con=DriverManager.getConnection(urlString);sql=con.createStatement();rs=sql.executeQuery(SELECT * FROM result);while(rs.next() /访问数据库,查询No当前的最大值。maxno=rs.getString(No);if(maxno=null) /如果数据库中没有记录,则设第一项记录的标号为1。 rsid=1; /否则,将No的最大值加1,并向数据库添加新的一项数据。else rsid=Integer.parseInt(maxno)+1; String no=+String.valueOf(rsid)+; sql.executeUpdate(INSERT INTO result 四川大学锦江学院毕业论文(设计)25VALUES(+no+,+origin+,+destination+,+result+);sql.close(); /断开连接。con.close();catch(Exception ex)ex.printStackTrace(); /跟踪并返回错误。3.4 历史记录查询public void showhis() throws SQLException /显示历史记录。 Connection con;Statement sql;ResultSet rs;tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver); /建立JDBC-ODBC桥接器。catch(ClassNotFoundException e)System.out.print(+e);try /建立和数据库的连接。String urlString = jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=+(CampusGuide.class.getResource()+result.mdb).split(file:/)1;con=DriverManager.getConnection(urlString);sql=con.createStatement();rs=sql.executeQuery(SELECT * FROM result);boolean boo=false; /将每一项历史记录按起始位置、目标位置、查询结果排序,并输出到TextArea his中。while(boo=rs.next()=true)String showorigin=rs.getString(Origin);String showdestination=rs.getString(Destination);四川大学锦江学院毕业论文(设计)26String showresult=rs.getString(Result);his.append(n+起始位置:+showorigin);his.append(n+目标位置:+showdestination);his.append(n+showresult+n);if(boo=false) his.append(n+历史记录为空!); sql.close(); /断开连接。con.close(); catch(Exception ex)ex.printStackTrace();四川大学锦江学院毕业论文(设计)27结论Java 是一种强大的面向对象的高级语言,它提供了丰富的类和函数,简单易用的 AWT 和 Swing 工具集,以及数据库连接 JDBC,使软件设计师能够轻松地实现程序的模块化设计,通过调用类和函数实现多种功能,使用 AWT 或者 Swing 工具集设计 GUI,进行数据库操作等等。设计 GUI 时,要灵活的运用 Java 提供的各种容器及布局方法,按照美学及用户习惯的原则仔细调试。在 Panel 可以采用 setLayout()设置面板的布局方法。本程序的窗口采用默认的 BorderLayout 方法,优点是可以充分的利用窗口区域,缺点是垂直方向最多只能放个元素。但是,可以通过容器的嵌套和设置容器的布局方法来实现灵活的布局。本程序中的最短路径查询组件和历史记录显示组件即先添加到 Panel 对象,再将添加到窗口中。Label 设计中可以采用空格来调整间距。程序设计中采用模块化的方法能够使功能更加清晰明了,编程、测试和维护都更加容易。Java 提供的强大的类、接口以及封装的特性,正是其强大的魅力所在。在程序设计时,需要特别注意变量和函数的作用域,变量和对象的初始化,数组对象的边界,将第一笔数据插入到空数据库等问题。程序总共分为五个模块:地图显示、节点信息查询、任意两个节点间的最短路径及距离查询、最短路径查询结果保存到数据库、查询历史记录。地图显示模块中,采用从图像文件插入图片的好处是实现简单,更新容易,只需要更新 map.gif 并重新设置 Imagecanvas 中画布的大小即可,更加灵活。缺点是当节点数量增加或减少时,需要重新设置节点信息查询和最短路径查询的选项。节点信息查询模块中,采用下拉列表形式选择节点的优点是不用设置异常响应,缺点是当节点数量发生变化时需要重新更改 c1 选项的值。用 switch 语句返回节点信息的好处是系统开销小,缺点是不够灵活,信息更新时需要修改程序代码。也可采用数据库加上 SQL 语句的形式返回节点信息。但由于本程序的节点数量及信息固定,故采用下拉列表加上 switch 语句的方法。最短路径查询模块中,使用 FileInputStream 类从文本文件读取无向网的信息,动态生成邻接表好处是修改无向网的信息比较容易。缺点是实现较复杂,增加了系统开销。采用邻接表存储无向网的优点是可以简化 Dijkstra 算法的实现,时间复杂度为 O(n*e) 。当节点数量庞大的时候能够节省系统开销,提高执行效率。用二维数组返回最短路径的四川大学锦江学院毕业论文(设计)28值使程序能够记录当最短路径多于一条的情况。最短路径查询结果插入数据库及查询历史记录模块中,由于可以通过最短路径查询模块获得需要的最短路径和距离,故没有对数据库添加查询特定数据项及删除记录的功能。不过,可以通过数据库的管理工具对数据库进行维护。软件测试时应该考虑到可能出现的各种情况,比如最短路径查询时可能出现的路径为0,只有一条路径,有多条路径的情况,访问数据库时记录为空的情况。Dijkstra 算法在游戏设计及导航领域的应用非常广泛。通过本次课程设计,我进一步熟悉并掌握了 Java、Dijkstra 算法、数据库的设计与操作。首先将实际问题抽象建立数学模型,用模块化设计将功能细分,通过类之间对象的调用,继承或接口将模块连接起来,就可以设计出复杂的程序。这是我本次毕业设计最大的体会。最后,我要感谢指导老师和同学为我提供的帮助。在他们的支持和耐心指导之下,我才能够做得更好。四川大学锦江学院毕业论文(设计)29参考文献01史佳、史斌星.Java 基础及应用教程(附光盘). 清华大学出版社
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年大学物理考试不可逆过程理解试题及答案
- 2025届新疆乌鲁木齐市高三下学期三模英语试题(原卷版+解析版)
- 2025年大学化学讲座回顾试题及答案
- 2025年精准医学课程考试试卷及答案
- 2022年全国中学生数学奥林匹克竞赛(预赛)暨 2022年全国高中数学联合竞赛一试(A2 卷)参考答案及评分标准
- 2018年全国数学高联A卷-试题
- 楼盘抵押贷款合同协议
- 微信租车库合同协议
- 品质面料采购合同协议
- 比亚迪换车合同协议
- 海康威视校招在线测评题库
- 电网两票培训课件
- 《土地集约利用》课件
- 小学英语(完整版)现在进行时练习题附答案
- 无违法犯罪记录证明申请表(个人)
- 衡水介绍-衡水简介PPT(经典版)
- 性激素六项的解读 课件
- 模具设计与制造毕业设计
- 2023年福建三明市初中毕业班数学质量检测卷(附答案)
- 金蝶固定资产管理系统
- LY/T 2457-2015西南桦培育技术规程
评论
0/150
提交评论