Java天气预报播报

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

Java天气预报播报

南风如意   2022-06-28 我要评论

实验代码

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("小雨,几乎没有雨!");
    }
}

运行结果

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们