模擬實現十字路口的交通燈管理系統邏輯,具體需求如下:
非同步隨機生成按照各個路線行駛的車輛。
例如:由南向而來去往北向的車輛 ---- 直行車輛
由西向而來去往南向的車輛 ---- 右轉車輛
由東向而來去往南向的車輛 ---- 左轉車輛
。。。
訊號燈忽略黃燈,只考慮紅燈和綠燈。
應考慮左轉車輛控制訊號燈,右轉車輛不受訊號燈控制。
具體訊號燈控制邏輯與現實生活中普通交通燈控制邏輯相同,不考慮特殊情況下的控制邏輯。
注:南北向車輛與東西向車輛交替放行,同方向等待車輛應先放行直行車輛而後放行左轉車輛。
隨機生成車輛時間間隔以及紅綠燈交換時間間隔自定,可以設定。
不要求實現gui,只考慮系統邏輯實現,可通過log方式展現程式執行結果。
1:先畫分析圖
2:分析其中有哪些物件
3: 分析物件中有哪些屬性和方法
物件一:road
屬性有:name;vehicle
方法:vehicle的新增與刪除
public class road catch (interruptedexception e)
vehicles.add(road.this.name+"_"+i);}}
});//移除車定義乙個時間控制器
scheduledexecutorservice ses =executors.newscheduledthreadpool(1);
ses.scheduleatfixedrate(new runnable()
}}, 1, 1, timeunit.seconds);}}
物件二:lamp
屬性:name,nextlamp,lighted
public enum lamp
//綠亮判斷是否有下乙個燈
public void lamp()
system.out.println(name()+"綠燈亮。。。。。。。。");
}//紅燈
public lamp isblack()
lamp next=null;
if(nextstring!=null)
return next;
}public boolean islighted()
}4:設定控制lamp的類
public class lampcontoller
}, 10, 10, timeunit.seconds );}}
5:新增road方向執行
public class mainrun ;
for (int i = 0; i < directions.length; i++)
new lampcontoller();
}乙個簡單的分析完結
交通燈管理系統
銀行業務排程系統模擬銀行排程系統邏輯。需求 銀行內有6個業務視窗,1 4為普通視窗,5為快速視窗,6為vip視窗。有三種型別客戶 vip客戶,快速客戶 交水電費類業務 普通客戶。一部隨機生成各種型別的客戶,概率比例為 vip客戶 快速客戶 普通客戶 1 3 6。客戶辦理用時設定最少時間。各型別客戶在...
交通燈管理系統
需求 模擬實現十字路口的交通燈管理系統邏輯,具體需求如下 1.非同步隨機生成按照各個路線行駛的車輛。例如 由南向而來去往北向的車輛 直行車輛 由西向而來去往南向的車輛 右轉車輛 由東向而來去往南向的車輛 左轉車輛 2.訊號燈忽略黃燈,只考慮紅燈和綠燈。3.應考慮左轉車輛控制訊號燈,右轉車輛不受訊號燈...
交通燈管理系統
1 非同步隨機生成按照各個路線行駛的車輛。例如 由南向而來去往北向的車輛 直行車輛 由西向而來去往南向的車輛 右轉車輛 由東向而來去往南向的車輛 左轉車輛 2 訊號燈忽略黃燈,只考慮綠燈和紅燈。3 應考慮左轉車輛控制訊號燈,右轉車輛不受訊號燈控制 4 具體訊號燈控制邏輯與現實生活中普通交通燈控制邏輯...