目录
- 实验代码
- WeatherState.java
- Weather.java
- WeatherForecast.java
- CloudyLittleState.java
- CloudyDayState.java
- HeavyRainState.java
- LightRainState.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天气预报播报的资料请关注其它相关文章!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

评论(0)