信息发布→ 登录 注册 退出

利用Java实现天气预报播报功能

发布时间:2026-01-11

点击量:
目录
  • 实验代码
    • 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天气预报播报的资料请关注其它相关文章!

    在线客服
    服务热线

    服务热线

    4008888355

    微信咨询
    二维码
    返回顶部
    ×二维码

    截屏,微信识别二维码

    打开微信

    微信号已复制,请打开微信添加咨询详情!