实验五、天气预报

实验五、天气预报,第1张

WeatherState.java

public interface WeatherState {

public void showState();

}

Weather.java

public class Weather {

WeatherState state;

public void show() {

    state.showState();

}

public void setState(WeatherState s) {

    state=s;

}

}

WeatherForecast.java

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

public class CloudyLittleState implements WeatherState{

    public void showState() {

        System.out.print("少云,有时晴.");

    }

}

CloudyDayState.java

public class CloudyDayState implements WeatherState{

    public void showState() {

        System.out.print("晴转多云");

    }

}

HeavyRainState.java

public class HeavyRainState implements WeatherState{

    public void showState() {

        System.out.print("小雨");

    }

}

LightRainState.java

public class LightRainState implements WeatherState{

public void showState() {

    System.out.print("多云");

}

}

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/797935.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-06
下一篇2022-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存