傳統結構化程式設計使用switch 條件判斷鐵路行車號誌紅(RED)、綠(GREEN)、
與黃(YELLOW)三種燈號的依序變化,如下程式所示。請繪圖說明如何利用狀態
(state)樣式將三個燈號狀態建立成物件,且不需用多層巢狀條件來進行判斷,自
行負責狀態的切換,以滿足複雜順序的變化。(30 分)
switch(state){
case RED:
system.out.println(〝紅燈亮〞);
sleep(15000);
state= state.GREEN;
break;
case GREEN:
system.out.println(〝綠燈亮〞);
sleep(5000);
state= state.YELLOW;
break;
case YELLOW:
system.out.println(〝黃燈亮〞);
sleep(1000);
state= state. YELLOW;
break;
}