From 6f40ba447e300507fadbe20a4bf9b286c4d4a1f6 Mon Sep 17 00:00:00 2001 From: swayfarer <@dkamensky@licei10.ru> Date: Fri, 6 Jun 2025 14:09:16 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=B2=D1=8B=D0=B2=D0=BE=D0=B4=20=D0=BE=D1=81=D0=B0=D0=B4=D0=BA?= =?UTF-8?q?=D0=BE=D0=B2=20=D0=B8=20=D1=82=D1=83=D0=BC=D0=B0=D0=BD=D0=BD?= =?UTF-8?q?=D0=BE=D1=81=D1=82=D0=B8=20(=D0=BF=D0=BE=D0=BA=D0=B0-=D1=87?= =?UTF-8?q?=D1=82=D0=BE=20=D0=B1=D0=B5=D0=B7=20=D1=82=D0=B5=D1=81=D1=82?= =?UTF-8?q?=D0=BE=D0=B2)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../weather/provider/MultiDaysWeatherInfo.java | 4 +--- .../provider/OpenWeatherMapWeatherProvider.java | 14 ++++++++++++-- .../ru/dima/weather/provider/WeatherInfo.java | 16 +++++++++++----- 3 files changed, 24 insertions(+), 10 deletions(-) diff --git a/src/main/java/ru/dima/weather/provider/MultiDaysWeatherInfo.java b/src/main/java/ru/dima/weather/provider/MultiDaysWeatherInfo.java index 11c45a8..a9af246 100644 --- a/src/main/java/ru/dima/weather/provider/MultiDaysWeatherInfo.java +++ b/src/main/java/ru/dima/weather/provider/MultiDaysWeatherInfo.java @@ -18,8 +18,6 @@ public class MultiDaysWeatherInfo { } @Override public String toString() { - return "MultiDaysWeatherInfo{" + - "perDayWeather=" + perDayWeather + - '}'; + return "Weather for 7 days:" + "\n" + perDayWeather ; } } diff --git a/src/main/java/ru/dima/weather/provider/OpenWeatherMapWeatherProvider.java b/src/main/java/ru/dima/weather/provider/OpenWeatherMapWeatherProvider.java index 11ee46f..f172294 100644 --- a/src/main/java/ru/dima/weather/provider/OpenWeatherMapWeatherProvider.java +++ b/src/main/java/ru/dima/weather/provider/OpenWeatherMapWeatherProvider.java @@ -32,12 +32,22 @@ public class OpenWeatherMapWeatherProvider implements WeatherProvider { for (var day = 0; day < 7; day ++) { var forecast = weatherArray.getJSONObject(day); + + var weatherArray2 = forecast.getJSONArray("weather"); + var weatherMain = weatherArray2.getJSONObject(0); + var weather = weatherMain.getString("main"); + + var mainData = forecast.getJSONObject("main"); var temperature = mainData.getDouble("temp"); - resultWeeklyWeather.getPerDayWeather().add(new WeatherInfo(temperature)); + + var cloudsArray = forecast.getJSONObject("clouds"); + var clouds = cloudsArray.getDouble("all"); + + resultWeeklyWeather.getPerDayWeather().add(new WeatherInfo(temperature, weather , clouds)); } - return resultWeeklyWeather; + return resultWeeklyWeather ; } @Override diff --git a/src/main/java/ru/dima/weather/provider/WeatherInfo.java b/src/main/java/ru/dima/weather/provider/WeatherInfo.java index 05f4442..abccb6c 100644 --- a/src/main/java/ru/dima/weather/provider/WeatherInfo.java +++ b/src/main/java/ru/dima/weather/provider/WeatherInfo.java @@ -2,15 +2,21 @@ package ru.dima.weather.provider; public class WeatherInfo { public double temperature; - - public WeatherInfo(double temperature) { + public String weather; + public double clouds; + public WeatherInfo(double temperature, String weather, double clouds) { this.temperature = temperature; + this.weather = weather; + this.clouds = clouds; + } @Override public String toString() { - return "WeatherInfo{" + - "temperature=" + temperature + - '}'; + return " " + + " temp: " + temperature + + ", weather: " + weather + + ", clouds: " + clouds + + "\n"; } }