From 5fc07ef69f97b51f6ffff3c337c264b7e5100b35 Mon Sep 17 00:00:00 2001 From: Arity-T Date: Tue, 11 Feb 2025 16:29:37 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9B=D0=BE=D0=B3=D0=B8=D0=BA=D0=B0=20=D0=B8?= =?UTF-8?q?=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BD=D0=B0?= =?UTF-8?q?=D1=81=D1=82=D1=80=D0=BE=D0=B5=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ru/spbstu/telematics/java/Settings.java | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/lab3/src/main/java/ru/spbstu/telematics/java/Settings.java b/lab3/src/main/java/ru/spbstu/telematics/java/Settings.java index 7593a20..3fdb24b 100644 --- a/lab3/src/main/java/ru/spbstu/telematics/java/Settings.java +++ b/lab3/src/main/java/ru/spbstu/telematics/java/Settings.java @@ -1,14 +1,41 @@ package ru.spbstu.telematics.java; +import java.util.Random; + /* * Симулирует переодическое изменение настроек пользователем. */ public class Settings implements Runnable { private double temperature; + + public double getTemperature() { + return temperature; + } + private double humidity; + public double getHumidity() { + return humidity; + } + + public Settings(double temperature, double humidity) { + this.temperature = temperature; + this.humidity = humidity; + } + + // Параметры произвольного изменения настроек температуры и влажности в комнате + private Random random = new Random(); + private double temperatureMaxStep = 10; + private double humidityMaxStep = 0.15; + private long maxStepTimeMs = 20000; + @Override public void run() { + while (!Thread.interrupted()) { + temperature += (random.nextDouble() - 0.5) * 2 * temperatureMaxStep; + humidity += (random.nextDouble() - 0.5) * 2 * humidityMaxStep; + Utils.sleepRandomTime((long) (maxStepTimeMs * 0.5), maxStepTimeMs); + } } }