展开全部

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

//Site(站点类)

package transit;

import java.util.ArrayList;

import java.util.List;

public class Site

{

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

private String name; // 站点的名字62616964757a686964616fe4b893e5b19e31333332623933

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

public Site()

{

super();

}

public Site(Integer id, String name)

{

super();

this.id = id;

this.name = name;

this.list = new ArrayList();

}

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 List getList()

{

return list;

}

public void setList(List 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 List 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 ArrayList();

}

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 List getList()

{

return list;

}

public void setList(List 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 List routeList ;  //系统所管理的线路

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

public TransitSystem(){

routeList = new ArrayList();

siteList = new ArrayList();

}

//增加一条线路

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 List getRouteBySite(Site site){

return site.getList();

}

public List getRouteList()

{

return routeList;

}

public void setRouteList(List routeList)

{

this.routeList = routeList;

}

public List getSiteList()

{

return siteList;

}

public void setSiteList(List 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

{

if (i

{

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

}

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

}

List siteList = system.getSiteList();

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

for (Route route : system.getRouteList())

{

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

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

for (int i = 0; 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 公交管理系统 代码_java公交线路管理系统相关推荐

  1. java学生管理系统代码_java学生信息管理系统(附源码)

    一:   介绍 1:实现登录界面 2:实现主界面 有两种操作 一种是按钮操作  另外一种是SQL语句. 3:连接SQL server 2008 数据库 用到的软件及环境SQLserver2008,ec ...

  2. java图书馆登陆代码_java控制台图书馆管理系统

    package com.test.library.newlib; import java.util.Scanner; public class LibrarySystem { private stat ...

  3. 餐厅管理系统代码c语言,酒店管理系统代码(C语言版)

    <酒店管理系统代码(C语言版)>由会员分享,可在线阅读,更多相关<酒店管理系统代码(C语言版)(7页珍藏版)>请在人人文库网上搜索. 1.include #include #i ...

  4. java 生产者消费者代码_Java生产者和消费者代码

    java 生产者消费者代码 This also helps us to understand the concept of synchronised multi-threading in java, ...

  5. java 公交管理系统 代码_Java学员作品-城市公交管理系统

    1.项目名称:城市公交管理系统 2.开发工具及环境: eclipse4.5 + Tomcat7.0 + JDK1.8 + MySQL5.5 3.项目简介: 城市公交管理系统是一个基于web技术的公交管 ...

  6. java 公交管理系统 代码_JAVA课程设计报告公交管理系统.pdf

    Java期末课程设计 -- Busmanagerment 课程名称:算法设计与分析 任课老师:吴倩 学生姓名:谢秀华 学生学号:1037005 所在院系:信息工程学院 班级: 10计算机1班 一.前言 ...

  7. 学生系统的java代码_java学生信息管理系统源代码

    本文实例为大家分享了java学生信息管理系统的具体代码,实现学生信息: 增加 int[] a=new int[9] .删除 .查找.更改,供大家参考,具体内容如下 /*学生信息管理系统,实现学生信息: ...

  8. java驾校管理系统代码_JAVA课程设计驾校管理系统

    [实例简介] 该项目是用JAVA-Swing编写.需要建立一个mysql表.因为软件问题无法导出,请读者自行创建.表的列数据在下载文件的截图中,因为程序有导出数据库到Excel文件和界面美化(共27个 ...

  9. java固定资产管理系统代码_Java 固定资产管理系统(课程设计)

    Java课程设计作业--固定资产管理系统,Eclipse+SERVER2000构架,对照综合的Java编程实战,学习Swing的好资料,SQL库资料在AMSConfiguration\db目录下,附加 ...

最新文章

  1. Java的java.util.function.Function接口中identity方法解析
  2. 关于javascript:void(0);,herf=”#”以及在IE6下,click事件失效的问题
  3. 为什么磁场强度大了呢?
  4. 重温一遍数据结构之单链表(golang版)
  5. 寻找下一款Prisma APP:深度学习在图像处理中的应用探讨
  6. wifi上行下行速度测试_增大AP天线增益,可以同时改善上下行 —— WIFI基础知识(3)...
  7. 英特尔携手谷歌云加速最新虚拟机;谷歌云平台下调抽成比例;Hitachi Vantara推出全新云成本优化服务...
  8. Linux系统Zookeeper集群配置
  9. 吃透这份pdf,拿下阿里、腾讯等大厂心仪offer(软件测试岗)
  10. java代码用户界面网格布局GridLayout.划分为格子区域
  11. LaTeX 中文模版代码
  12. 推荐一款好用的jeDate日期控件
  13. 清华同方的计算机硬件设置,清华同方台式计算机如何设置BIOS引导U盘教程
  14. 笔记:戴蒙德模型——参数变化的影响
  15. 互联网早报 | 2月2日 星期二 | 小米之家完成江苏河南县级全覆盖;知乎正式启动首部科幻剧;盼达用车宣布暂停运营...
  16. Gazebo仿真进阶教程之传感器高斯噪声(二)
  17. Chromedriver各个版本浏览器驱动下载地址
  18. Spring Boot入门教程(四十六): @Async
  19. CVPR 2022 | 重新审视池化:你的感受野不是最理想的
  20. Iot智慧新零售魔镜智能硬件有哪些

热门文章

  1. 【热门】牛宝宝取名大全:女孩带点诗意唯美柔情的名字
  2. vue兼容IE8以上解决方案
  3. 如何开一家盈利的健身房?我用1年回本的经验告诉你,别谈恋爱
  4. 科大讯飞踩过的“坑”,还有多少AI企业要踩?
  5. 发那科 Fanuc 虚拟机采集环境搭建
  6. 宝塔linux面板访问不了
  7. QCon旧金山2016大会,议题发布及研讨会一瞥
  8. uniapp+unicloud开发微信小程序流程
  9. 【原创】无线路由器作为信号放大器设置方法
  10. 猫眼数据SQLITE保存格式