利用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("有大雨來臨!");
}
}
LightRainState.java
package lab2;
public class LightRainState implements WeatherState {
@Override
public void showState() {
System.out.println("小雨,幾乎沒有雨!");
}
}運(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基礎(chǔ)之引用相關(guān)知識(shí)總結(jié)
今天聊聊Java的引用,大多數(shù)時(shí)候我們說引用都是強(qiáng)引用,只有在對(duì)象不使用的情況下才會(huì)釋放內(nèi)存,其實(shí)Java 內(nèi)存有四種不同的引用.一起看看吧,,需要的朋友可以參考下2021-05-05
Win10 Java jdk14.0.2安裝及環(huán)境變量配置詳細(xì)教程
這篇文章主要介紹了Win10 Java jdk14.0.2安裝及環(huán)境變量配置,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08
Spring 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-07
tomcat connection-timeout連接超時(shí)源碼解析
這篇文章主要為大家介紹了tomcat connection-timeout連接超時(shí)源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11
實(shí)例分析Java Class的文件結(jié)構(gòu)
今天把之前在Evernote中的筆記重新整理了一下,發(fā)上來供對(duì)java class 文件結(jié)構(gòu)的有興趣的同學(xué)參考一下2013-04-04
SpringBoot HttpMessageConverter消息轉(zhuǎn)換器的使用詳解
在整個(gè)數(shù)據(jù)流轉(zhuǎn)過程中,前端的請(qǐng)求報(bào)文轉(zhuǎn)化為Java對(duì)象,Java對(duì)象轉(zhuǎn)化為響應(yīng)報(bào)文,這里就用到了消息轉(zhuǎn)換器HttpMessageConverter2022-06-06

