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公交线路管理系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 像素颜色和颜色向量相加相乘的理解
- 下一篇: Tesla M40 训练机组装与散热改造