java 公交管理系统 代码_java公交线路管理系统
展开全部
//写了两个小时啊,兄弟,要采纳我啊
//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公交线路管理系统相关推荐
- java学生管理系统代码_java学生信息管理系统(附源码)
一: 介绍 1:实现登录界面 2:实现主界面 有两种操作 一种是按钮操作 另外一种是SQL语句. 3:连接SQL server 2008 数据库 用到的软件及环境SQLserver2008,ec ...
- java图书馆登陆代码_java控制台图书馆管理系统
package com.test.library.newlib; import java.util.Scanner; public class LibrarySystem { private stat ...
- 餐厅管理系统代码c语言,酒店管理系统代码(C语言版)
<酒店管理系统代码(C语言版)>由会员分享,可在线阅读,更多相关<酒店管理系统代码(C语言版)(7页珍藏版)>请在人人文库网上搜索. 1.include #include #i ...
- java 生产者消费者代码_Java生产者和消费者代码
java 生产者消费者代码 This also helps us to understand the concept of synchronised multi-threading in java, ...
- java 公交管理系统 代码_Java学员作品-城市公交管理系统
1.项目名称:城市公交管理系统 2.开发工具及环境: eclipse4.5 + Tomcat7.0 + JDK1.8 + MySQL5.5 3.项目简介: 城市公交管理系统是一个基于web技术的公交管 ...
- java 公交管理系统 代码_JAVA课程设计报告公交管理系统.pdf
Java期末课程设计 -- Busmanagerment 课程名称:算法设计与分析 任课老师:吴倩 学生姓名:谢秀华 学生学号:1037005 所在院系:信息工程学院 班级: 10计算机1班 一.前言 ...
- 学生系统的java代码_java学生信息管理系统源代码
本文实例为大家分享了java学生信息管理系统的具体代码,实现学生信息: 增加 int[] a=new int[9] .删除 .查找.更改,供大家参考,具体内容如下 /*学生信息管理系统,实现学生信息: ...
- java驾校管理系统代码_JAVA课程设计驾校管理系统
[实例简介] 该项目是用JAVA-Swing编写.需要建立一个mysql表.因为软件问题无法导出,请读者自行创建.表的列数据在下载文件的截图中,因为程序有导出数据库到Excel文件和界面美化(共27个 ...
- java固定资产管理系统代码_Java 固定资产管理系统(课程设计)
Java课程设计作业--固定资产管理系统,Eclipse+SERVER2000构架,对照综合的Java编程实战,学习Swing的好资料,SQL库资料在AMSConfiguration\db目录下,附加 ...
最新文章
- Java的java.util.function.Function接口中identity方法解析
- 关于javascript:void(0);,herf=”#”以及在IE6下,click事件失效的问题
- 为什么磁场强度大了呢?
- 重温一遍数据结构之单链表(golang版)
- 寻找下一款Prisma APP:深度学习在图像处理中的应用探讨
- wifi上行下行速度测试_增大AP天线增益,可以同时改善上下行 —— WIFI基础知识(3)...
- 英特尔携手谷歌云加速最新虚拟机;谷歌云平台下调抽成比例;Hitachi Vantara推出全新云成本优化服务...
- Linux系统Zookeeper集群配置
- 吃透这份pdf,拿下阿里、腾讯等大厂心仪offer(软件测试岗)
- java代码用户界面网格布局GridLayout.划分为格子区域
- LaTeX 中文模版代码
- 推荐一款好用的jeDate日期控件
- 清华同方的计算机硬件设置,清华同方台式计算机如何设置BIOS引导U盘教程
- 笔记:戴蒙德模型——参数变化的影响
- 互联网早报 | 2月2日 星期二 | 小米之家完成江苏河南县级全覆盖;知乎正式启动首部科幻剧;盼达用车宣布暂停运营...
- Gazebo仿真进阶教程之传感器高斯噪声(二)
- Chromedriver各个版本浏览器驱动下载地址
- Spring Boot入门教程(四十六): @Async
- CVPR 2022 | 重新审视池化:你的感受野不是最理想的
- Iot智慧新零售魔镜智能硬件有哪些