交通燈管理系統:
模擬實現十字路口的交通管理系統邏輯,具體需求如下:
非同步隨機生成按照各個路線行駛的車輛。
例如:由南向北-----直行車輛
由西向南---右轉
……訊號燈忽略黃燈,只考慮紅燈和綠燈
左轉彎的燈受訊號燈控制,右轉彎的車不受控制
具體邏輯實現與現實生活中的邏輯一樣
每輛車通過路口的時間為一秒。
通過這個交通燈管理系統的練習,對物件導向的思想有了更深一步的認識與學習,在這個專案中,主要是
懂得物件導向的思想,加上對多執行緒知識的應用。同時還使用了jdk1.5中對執行緒知識的新應用方法。通過這個
練習使自己對執行緒的應用更加清晰。
對這個交通燈管理系統,首先用物件導向的思想進行分析,構造出lamp類和road類,
lamp類**如下:
構造lamp類要搞明白12個方向的路是如何控制的。
public enum lamp
public boolean getlight()
public void light()
public lamp lampblack()
lamp nextlamp=null;
由於此處有遞迴,s2n(null,null,false),w2e(null,null,false),n2e(null,null,false),e2s(null,null,false),
//等沒有next值,所以返回值為空,但第二次執行時next值不為空,所以,直到next的值不為空才將下乙個等點亮,避免next值為null的情況
if(next!=null)
return nextlamp;}}
接下來是:road類
public class road
catch (interruptedexception e)
vehicles.add(road.this.name+i);}}
});scheduledexecutorservice exe=executors.newscheduledthreadpool(1);
exe.scheduleatfixedrate(
new runnable()}},
0,1,
timeunit.seconds);}}
最後通過lampcontroller類來控制lamp物件的變化。
lampcontroller類的實現:
public class lampcontroller
},10,
10,timeunit.seconds);}}
交通燈管理系統
銀行業務排程系統模擬銀行排程系統邏輯。需求 銀行內有6個業務視窗,1 4為普通視窗,5為快速視窗,6為vip視窗。有三種型別客戶 vip客戶,快速客戶 交水電費類業務 普通客戶。一部隨機生成各種型別的客戶,概率比例為 vip客戶 快速客戶 普通客戶 1 3 6。客戶辦理用時設定最少時間。各型別客戶在...
交通燈管理系統
需求 模擬實現十字路口的交通燈管理系統邏輯,具體需求如下 1.非同步隨機生成按照各個路線行駛的車輛。例如 由南向而來去往北向的車輛 直行車輛 由西向而來去往南向的車輛 右轉車輛 由東向而來去往南向的車輛 左轉車輛 2.訊號燈忽略黃燈,只考慮紅燈和綠燈。3.應考慮左轉車輛控制訊號燈,右轉車輛不受訊號燈...
交通燈管理系統
1 非同步隨機生成按照各個路線行駛的車輛。例如 由南向而來去往北向的車輛 直行車輛 由西向而來去往南向的車輛 右轉車輛 由東向而來去往南向的車輛 左轉車輛 2 訊號燈忽略黃燈,只考慮綠燈和紅燈。3 應考慮左轉車輛控制訊號燈,右轉車輛不受訊號燈控制 4 具體訊號燈控制邏輯與現實生活中普通交通燈控制邏輯...