利用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天气预报播报的资料请关注脚本之家其它相关文章!

相关文章

  • SpringBoot Admin用法实例讲解

    SpringBoot Admin用法实例讲解

    在本篇文章里小编给大家整理的是一篇关于SpringBoot Admin用法实例内容,有需要的朋友们可以参考学习下。
    2019-10-10
  • 教你怎么用Java完成人民币大写转化

    教你怎么用Java完成人民币大写转化

    这篇文章主要介绍了教你怎么用Java完成人民币大写转化,文中有非常详细的代码示例,对正在学习java的小伙伴们有很好的帮助,需要的朋友可以参考下
    2021-04-04
  • java项目打包成可执行jar用log4j将日志写在jar所在目录操作

    java项目打包成可执行jar用log4j将日志写在jar所在目录操作

    这篇文章主要介绍了java项目打包成可执行jar用log4j将日志写在jar所在目录操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • Java 使用Filter实现用户自动登陆

    Java 使用Filter实现用户自动登陆

    这篇文章主要介绍了Java 使用Filter实现用户自动登陆的方法,帮助大家更好的理解和学习使用Java,感兴趣的朋友可以了解下
    2021-05-05
  • java实现模拟RPG格斗

    java实现模拟RPG格斗

    这篇文章主要介绍了java实现模拟RPG格斗,每个英雄具有以下几个属性:生命值(为0时英雄倒下)、攻击力(每次攻击时扣除对方的生命值点数)、攻击间隔(每次攻击过后都要等待间隔时间才能进行下次攻击首次攻击之前也要先等待间隔时间)简单设置了下吧,小伙伴可以参考下
    2015-03-03
  • 详解SpringBoot初始教程之Tomcat、Https配置以及Jetty优化

    详解SpringBoot初始教程之Tomcat、Https配置以及Jetty优化

    本篇文章主要介绍了详解SpringBoot初始教程之Tomcat、Https配置以及Jetty优化,具有一定的参考价值,有兴趣的可以了解一下
    2017-09-09
  • JavaWeb实现文件上传功能详解

    JavaWeb实现文件上传功能详解

    这篇文章主要介绍了JavaWeb实现文件上传功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • Netty分布式ByteBuf缓冲区分配器源码解析

    Netty分布式ByteBuf缓冲区分配器源码解析

    这篇文章主要为大家介绍了Netty分布式ByteBuf缓冲区分配器源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-03-03
  • 一篇文章轻松了解SpringBoot配置高级

    一篇文章轻松了解SpringBoot配置高级

    大家都知道SpringBoot拥有良好的基因,还能简化编码、配置、部署、监控,也是现在面试必问的一个点,下面这篇文章主要给大家介绍了如何通过一篇文章轻松了解SpringBoot配置高级的相关资料,需要的朋友可以参考下
    2022-11-11
  • 使用IDEA进行安卓开发的详细图文教程

    使用IDEA进行安卓开发的详细图文教程

    安卓开发本身就是Java开发的一个分支,我们要确保计算机已经安装好JDK并做好了相关的配置,下面这篇文章主要给大家介绍了关于如何使用IDEA进行安卓开发的详细图文教程,需要的朋友可以参考下
    2023-04-04

最新评论