公交路线查询java代码 java公交车

求数据结构公交线路咨询的代码用java,其中求最短路径用Floyd算法

不知道你想怎么搞 反正感觉A*算法也可以,网上一大堆,还有就是Dijkstra算法

十年的吉水网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整吉水建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“吉水网站设计”,“吉水网站推广”以来,每个客户项目都认真落实执行。

java公交线路管理系统

//写了两个小时啊,兄弟,要采纳我啊

//Site(站点类)

package transit;

import java.util.ArrayList;

import java.util.List;

public class Site

{

private Integer id; // 给每个站点分配一个ID

private String name; // 站点的名字

private ListRoute list; // 经过该站点的线路

public Site()

{

super();

}

public Site(Integer id, String name)

{

super();

this.id = id;

this.name = name;

this.list = new ArrayListRoute();

}

public Integer getId()

{

return id;

}

public void setId(Integer id)

{

this.id = id;

}

public String getName()

{

return name;

}

public void setName(String name)

{

this.name = name;

}

public ListRoute getList()

{

return list;

}

public void setList(ListRoute list)

{

this.list = list;

}

// 添加线路

public boolean addRoute(Route route)

{

return this.getList().add(route);

}

// 删除线路

public boolean removeRoute(Route route)

{

return this.getList().remove(route);

}

@Override

public String toString()

{

return name;

}

@Override

public boolean equals(Object obj)

{

if (obj instanceof Site)

{

Site s = (Site) obj;

return this.id == s.getId()  this.name.equals(s.getName());

}

return false;

}

}

//线路类

package transit;

import java.util.ArrayList;

import java.util.Date;

import java.util.List;

public class Route

{

private Integer id; // 给每个线路分配一个ID

private String name; // 线路名称

private ListSite list; // 线路所包含的站点

private Date startDate; // 发班时间,从首站点算起

private Date endDate; // 收班时间,从首站点算起

public Route()

{

super();

}

public Route(Integer id, String name, Date startDate, Date endDate)

{

super();

this.id = id;

this.name = name;

this.startDate = startDate;

this.endDate = endDate;

this.list = new ArrayListSite();

}

public Integer getId()

{

return id;

}

public void setId(Integer id)

{

this.id = id;

}

public String getName()

{

return name;

}

public void setName(String name)

{

this.name = name;

}

public ListSite getList()

{

return list;

}

public void setList(ListSite list)

{

this.list = list;

}

public Date getStartDate()

{

return startDate;

}

public void setStartDate(Date startDate)

{

this.startDate = startDate;

}

public Date getEndDate()

{

return endDate;

}

public void setEndDate(Date endDate)

{

this.endDate = endDate;

}

public boolean isHasThisSite(Site site)

{

for (Site l_site : this.getList())

{

if (l_site.equals(site))

{

return true;

}

}

return false;

}

// 添加站点,成功返回true

public boolean addSite(Site site)

{

return this.getList().add(site);

}

// 移除站点,成功返回true

public boolean removeSite(Site site)

{

return this.getList().remove(site);

}

@Override

public String toString()

{

return name;

}

}

//公交系统类

package transit;

import java.util.ArrayList;

import java.util.List;

public class TransitSystem

{

/**

* 1)增加、修改、删除一个条公交线路信息。

* 2)增加、修改、删除公交站点信息。

* 3)按条件显示公交线路信息(条件有按线路名称、途经车站等)。

*/

private ListRoute routeList ;  //系统所管理的线路

private ListSite siteList;  //系统所管理的站点

public TransitSystem(){

routeList = new ArrayListRoute();

siteList = new ArrayListSite();

}

//增加一条线路

public void addRoute(Route route){

if(!routeList.add(route)){

throw new RuntimeException("系统中已存在该线路");

}

}

//修改一条线路

public void updateRoute(Route route){

//根据route 的id 获取已存在系统中的route

Route l_route = getRoute(route.getId());

if(l_route!=null){

//注入值

l_route.setName(route.getName());

l_route.setList(route.getList());

l_route.setStartDate(route.getStartDate());

l_route.setEndDate(route.getEndDate());

}else{

throw new RuntimeException("线路id不匹配,无法修改");

}

}

//获取该系统中的线路,根据id获取

public Route getRoute(Integer id){

Route route2 = null;

for (Route route : this.getRouteList())

{

if(route.getId().equals(id)){

route2 = route;

}

}

return route2;

}

//删除一条线路,根据对象删除

public void removeRoute(Route route){

if(!this.getRouteList().remove(route)){

throw new RuntimeException(route.getId()+"线路不存在");

}

}

//增加一条公交站点

public void addSite(Site site){

if(!this.siteList.add(site)){

throw new RuntimeException(site.getId()+"站点已存在");

}

}

//删除一条公交站点

public void removeSite(Site site){

if(!this.getSiteList().remove(site)){

throw new RuntimeException(site.getId()+"站点不存在");

}

}

//修改一条公交站点

public void updateSite(Site site){

//根据route 的id 获取已存在系统中的route

Site l_site = getSite(site.getId());

if(l_site!=null){

//注入值

l_site.setName(site.getName());

l_site.setList(site.getList());

}else{

throw new RuntimeException("站点id不匹配,无法修改");

}

}

//获取该系统中的公交站点,根据id获取

public Site getSite(Integer id){

Site site2 = null;

for (Site site : this.getSiteList())

{

if(site.getId().equals(id)){

site2 = site;

}

}

return site2;

}

//按线路名称查询公交线路信息

public Route getRouteByName(String name){

for (Route route : this.getRouteList())

{

if(route.getName().equals(name)){

return route;

}

}

return null;

}

//根据途经车站查询公交线路

public ListRoute getRouteBySite(Site site){

return site.getList();

}

public ListRoute getRouteList()

{

return routeList;

}

public void setRouteList(ListRoute routeList)

{

this.routeList = routeList;

}

public ListSite getSiteList()

{

return siteList;

}

public void setSiteList(ListSite siteList)

{

this.siteList = siteList;

}

}

//测试类

package transit;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Date;

import java.util.List;

import java.util.Random;

public class _Test

{

public static void main(String[] args) throws ParseException

{

TransitSystem system = new TransitSystem();

SimpleDateFormat format = new SimpleDateFormat("hh:MM");

Date startDate = format.parse("07:30");

Date endDate = format.parse("22:30");

// 向系统中添加10条线路,20个站点

for (int i = 0; i  20; i++)

{

if (i  10)

{

system.addRoute(new Route(i, "线路" + i, startDate, endDate));

}

system.addSite(new Site(i, "站点" + i));

}

ListSite siteList = system.getSiteList();

// 为系统中的站点添加线路

for (Route route : system.getRouteList())

{

// 每条线路 随机添加N个站点

int n = new Random().nextInt(siteList.size());

for (int i = 0; i  n; i++)

{

// 每个站点也是随机,如重复,则添加失败

int x = new Random().nextInt(siteList.size());

if (!route.isHasThisSite(siteList.get(x)))

{

route.addSite(siteList.get(x));

// 同时该站点也添加该线路

siteList.get(x).addRoute(route);

}

}

}

// 查询所有的线路所包含的站点

for (Route route : system.getRouteList())

{

System.out

.println(route.getName() + " :对应的站点集合:" + route.getList());

}

// 查询所有的站点对应的线路

for (Site site : system.getSiteList())

{

System.out.println("站点" + site.getName() + " :对应的线路集合: "

+ site.getList());

}

}

}

用java怎么写一个简单的公交 站站 查询功能,只须用mvc就行 数据库用mysql

先完成直达的吧.

两张表(一对多的关系):

表一:公交线路表

id, 线路(就是第几路车的意思)

表二:站点表或者路线表

id, 表一的id(就是外键),站点名,顺序

站站查询的时候, 查表二, group by 表一的id,就能确定线路, 再对照表一就能找到线路名了.

当然如果是交作业的话, 两张表够了; 想更专业点就用3张表(多对多);

在就是换乘了.

这个比较复杂, 会涉及到一些算法, 要看你的切入点是什么了.

比如总时间, 换乘次数, 总路程等等,都有不同的设计方法.

此为个人意见,仅供参考!


当前标题:公交路线查询java代码 java公交车
URL分享:http://myzitong.com/article/docgiod.html