实验代码
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天气预报播报的资料请关注w3xue其它相关文章!