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

 更新时间:2022年06月21日 15:55:32   作者:南风如意  
这篇文章主要为大家介绍了如何利用Java语言实现天气预报播报功能,文中的示例代码讲解详细,对我们学习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天气预报播报的资料请关注脚本之家其它相关文章!

相关文章

  • Java Map集合与Collection类的使用详解

    Java Map集合与Collection类的使用详解

    这篇文章主要介绍了Java Map集合的使用及Collection工具类使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-11-11
  • Java基础之引用相关知识总结

    Java基础之引用相关知识总结

    今天聊聊Java的引用,大多数时候我们说引用都是强引用,只有在对象不使用的情况下才会释放内存,其实Java 内存有四种不同的引用.一起看看吧,,需要的朋友可以参考下
    2021-05-05
  • Win10 Java jdk14.0.2安装及环境变量配置详细教程

    Win10 Java jdk14.0.2安装及环境变量配置详细教程

    这篇文章主要介绍了Win10 Java jdk14.0.2安装及环境变量配置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • Spring AOP的底层实现方式-代理模式

    Spring AOP的底层实现方式-代理模式

    这篇文章主要介绍了Spring AOP的底层实现方式-代理模式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • 阿里面试Nacos配置中心交互模型是push还是pull原理解析

    阿里面试Nacos配置中心交互模型是push还是pull原理解析

    这篇文章主要为大家介绍了阿里面试Nacos配置中心交互模型是push还是pull原理解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • tomcat connection-timeout连接超时源码解析

    tomcat connection-timeout连接超时源码解析

    这篇文章主要为大家介绍了tomcat connection-timeout连接超时源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • SpringBoot中获取profile的方法详解

    SpringBoot中获取profile的方法详解

    这篇文章主要介绍了springboot获取profile的操作,文中的示例代码讲解详细,具有很好的参考价值,希望对大家有所帮助
    2022-04-04
  • 实例分析Java Class的文件结构

    实例分析Java Class的文件结构

    今天把之前在Evernote中的笔记重新整理了一下,发上来供对java class 文件结构的有兴趣的同学参考一下
    2013-04-04
  • java中BigDecimal的操作方法

    java中BigDecimal的操作方法

    这篇文章主要介绍了java中BigDecimal的操作方法,较为详细的分析了BigDecimal类在进行商业计算时的应用方法,精度以及注意事项等问题,需要的朋友可以参考下
    2014-12-12
  • SpringBoot HttpMessageConverter消息转换器的使用详解

    SpringBoot HttpMessageConverter消息转换器的使用详解

    在整个数据流转过程中,前端的请求报文转化为Java对象,Java对象转化为响应报文,这里就用到了消息转换器HttpMessageConverter
    2022-06-06

最新评论