利用Java實(shí)現(xiàn)天氣預(yù)報(bào)播報(bào)功能
實(shí)驗(yàn)代碼
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("轉(zhuǎn):"); 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("少云,有時(shí)晴!"); } }
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("有大雨來(lái)臨!"); } }
LightRainState.java
package lab2; public class LightRainState implements WeatherState { @Override public void showState() { System.out.println("小雨,幾乎沒(méi)有雨!"); } }
運(yùn)行結(jié)果
以上就是利用Java實(shí)現(xiàn)天氣預(yù)報(bào)播報(bào)功能的詳細(xì)內(nèi)容,更多關(guān)于Java天氣預(yù)報(bào)播報(bào)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Java Map集合與Collection類(lèi)的使用詳解
這篇文章主要介紹了Java Map集合的使用及Collection工具類(lèi)使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2022-11-11Java基礎(chǔ)之引用相關(guān)知識(shí)總結(jié)
今天聊聊Java的引用,大多數(shù)時(shí)候我們說(shuō)引用都是強(qiáng)引用,只有在對(duì)象不使用的情況下才會(huì)釋放內(nèi)存,其實(shí)Java 內(nèi)存有四種不同的引用.一起看看吧,,需要的朋友可以參考下2021-05-05Win10 Java jdk14.0.2安裝及環(huán)境變量配置詳細(xì)教程
這篇文章主要介紹了Win10 Java jdk14.0.2安裝及環(huán)境變量配置,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08Spring AOP的底層實(shí)現(xiàn)方式-代理模式
這篇文章主要介紹了Spring AOP的底層實(shí)現(xiàn)方式-代理模式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11阿里面試Nacos配置中心交互模型是push還是pull原理解析
這篇文章主要為大家介紹了阿里面試Nacos配置中心交互模型是push還是pull原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07tomcat connection-timeout連接超時(shí)源碼解析
這篇文章主要為大家介紹了tomcat connection-timeout連接超時(shí)源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11實(shí)例分析Java Class的文件結(jié)構(gòu)
今天把之前在Evernote中的筆記重新整理了一下,發(fā)上來(lái)供對(duì)java class 文件結(jié)構(gòu)的有興趣的同學(xué)參考一下2013-04-04SpringBoot HttpMessageConverter消息轉(zhuǎn)換器的使用詳解
在整個(gè)數(shù)據(jù)流轉(zhuǎn)過(guò)程中,前端的請(qǐng)求報(bào)文轉(zhuǎn)化為Java對(duì)象,Java對(duì)象轉(zhuǎn)化為響應(yīng)報(bào)文,這里就用到了消息轉(zhuǎn)換器HttpMessageConverter2022-06-06