利用Java實現天氣預報播報功能
實驗代碼
WeatherState.java
package lab2; public interface WeatherState { public void showState(); }
Weather.java
package lab2; public class Weather { WeatherState state; public void show() { state.showState(); } public void setState(WeatherState s) { state = s; } }
WeatherForecast.java
package lab2; public class WeatherForecast { public static void main(String args[]) { Weather weatherBeijing = new Weather(); System.out.print("\n 今天白天:"); weatherBeijing.setState(new CloudyDayState()); weatherBeijing.show(); System.out.print("\n 今天夜間:"); weatherBeijing.setState(new LightRainState()); weatherBeijing.show(); System.out.print("轉:"); weatherBeijing.setState(new HeavyRainState()); weatherBeijing.show(); System.out.print("\n 明天白天:"); weatherBeijing.setState(new LightRainState()); weatherBeijing.show(); System.out.print("\n 明天夜間:"); weatherBeijing.setState(new CloudyLittleState()); weatherBeijing.show(); } }
CloudyLittleState.java
package lab2; public class CloudyLittleState implements WeatherState { public void showState() { System.out.print("少雲,有時晴!"); } }
CloudyDayState.java
package lab2; public class CloudyDayState implements WeatherState{ @Override public void showState() { System.out.println("多雲,為陰天!"); } }
HeavyRainState.java
package lab2; public class HeavyRainState implements WeatherState { @Override public void showState() { System.out.println("有大雨來臨!"); } }
LightRainState.java
package lab2; public class LightRainState implements WeatherState { @Override public void showState() { System.out.println("小雨,幾乎沒有雨!"); } }
運行結果
以上就是利用Java實現天氣預報播報功能的詳細內容,更多關於Java天氣預報播報的資料請關註WalkonNet其它相關文章!