java温度_用java编程怎么写出 "当室内温度小于15度时,将空调温度每次提升一度,直到升到25度为止...

展开全部

原理:观察者模式

两个类可实现。

一个是监听温度类,它是一个线程类,每时每刻测量室内问32313133353236313431303231363533e4b893e5b19e31333361323661题,当室内温度小于15度时,通知升温类升温。

另一个类升温类,它的功能是“当室内温度小于15度时,将空调温度每次提升一度,直到升到25度,并将执行的结果告诉监听温度类(我升温完毕了,假如温度还低于15度,请再次通知我升温吧)。package cn.com;

import java.util.Random;

/**

* 测量温度类

*

* @author JinBiaoHuang

*

*/

public class MeasureTemperature implements Runnable {

private static boolean raisingTemperature = false;// 是否正在升温,假如正在升温,就不需要通知了

private int temperature;

@Override

public void run() {

while (true) {//每时每刻测量温度,假如低于15度,并且

try {

temperature = getRandomTemperature();// 测量温度

Thread.sleep(10); // 模拟测量温度所需时间

if (!raisingTemperature && temperature 

System.out.println("现在温度是" + temperature + "度,太冷了,要升温才行");

raisingTemperature = true;

new ControlTemperature().raiseTemperature(temperature);

}

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

private int getRandomTemperature() { //正常室温就40度

return new Random().nextInt(40);

}

public void setRaisingTemperature(boolean that_raisingTemperature) {

raisingTemperature = that_raisingTemperature;

}

}

package cn.com;

/**

* 升温类

*

* @author JinBiaoHuang

*

*/

public class ControlTemperature {

public void raiseTemperature(int temperature) throws InterruptedException {

System.out.println("我收到你的升温请求了请稍等...");

while (temperature 

Thread.sleep(20);//模拟升温需要的时间

temperature++;

System.out.println("努力升温中,现在温度是" + temperature + "度,在稍等一会..");

}

System.out.println("升温完毕,现在温度是" + temperature + "度,够暖和了吧");

new MeasureTemperature().setRaisingTemperature(false);

}

}

package cn.com;

/**

* 测试类

* @author JinBiaoHuang

*

*/

public class RaiseTemperatureTest {

public static void main(String[] args) {

MeasureTemperature runnable = new MeasureTemperature();

new Thread(runnable).start();//启动线程

}

}

打印结果

现在温度是7度,太冷了,要升温才行

我收到你的升温请求了请稍等...

努力升温中,现在温度是8度,在稍等一会..

努力升温中,现在温度是9度,在稍等一会..

努力升温中,现在温度是10度,在稍等一会..

努力升温中,现在温度是11度,在稍等一会..

努力升温中,现在温度是12度,在稍等一会..

努力升温中,现在温度是13度,在稍等一会..

努力升温中,现在温度是14度,在稍等一会..

努力升温中,现在温度是15度,在稍等一会..

努力升温中,现在温度是16度,在稍等一会..

努力升温中,现在温度是17度,在稍等一会..

努力升温中,现在温度是18度,在稍等一会..

努力升温中,现在温度是19度,在稍等一会..

努力升温中,现在温度是20度,在稍等一会..

努力升温中,现在温度是21度,在稍等一会..

努力升温中,现在温度是22度,在稍等一会..

努力升温中,现在温度是23度,在稍等一会..

努力升温中,现在温度是24度,在稍等一会..

努力升温中,现在温度是25度,在稍等一会..

升温完毕,现在温度是25度,够暖和了吧

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值