Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.02.2017, 22:58   #1
Janatti
Новичок
Джуниор
 
Регистрация: 21.02.2017
Сообщений: 2
По умолчанию Сравнение двух дат (Java)

Здравствуйте! Имеется массив, в котором находится города, температура воздуха в данных городах и дата на целый год. Нужно по введенному месяцу вывести среднюю температура за целый месяц. Тоесть надо введенный месяц с клавиатуры сравнить с месяцем, который находится в массиве. Не совсем ясно, как это реализовать.

Пример, как хранятся данные
Код:
for (int i = 0; i < 365; i += 3) {
            array[i] = new Weather("Moskva", rnd.nextInt(5), new GregorianCalendar(2017, 1, i + 1));
            array[i + 1] = new Weather("Tula", rnd.nextInt(5), new GregorianCalendar(2017, 1, i + 1));
            array[i + 2] = new Weather("Tomsk", rnd.nextInt(5), new GregorianCalendar(2017, 1, i + 1));
        }
Попытка сравнить.. Но походу это просто сравнения всей даты, а не чисто по месяцу. Не представляю, как сравнить только месяц.

Код:
        System.out.println("Введите месяц: ");
        int month = scan.nextInt();

        Calendar cal = new GregorianCalendar();
        cal.set(Calendar.MONTH, month);
        cal.set(Calendar.YEAR, 2017);
        cal.set(Calendar.DAY_OF_MONTH, 0);
        cal.set(Calendar.HOUR_OF_DAY, 0);
        cal.set(Calendar.MINUTE, 0);
        cal.set(Calendar.SECOND, 0);
        cal.set(Calendar.MILLISECOND, 0);

        int sum = 0;
        int average = 0;  
        for (int i = 0; i < array.length; i++) {
            System.out.println(array[i].getDate().getTime() + "\t" + cal.getTime());//просто проверка
            if (array[i].getDate().equals(cal)) {
                sum = sum + array[i].getTemperature();
            }
        }
        //average=sum/длинну месяца;
        System.out.println("Средняя температура в выбранном месяце равнa " + average);
Janatti вне форума Ответить с цитированием
Старый 22.02.2017, 00:01   #2
Janatti
Новичок
Джуниор
 
Регистрация: 21.02.2017
Сообщений: 2
По умолчанию

Мой запрос вообще реален? Не получается реализовать..
Janatti вне форума Ответить с цитированием
Старый 23.02.2017, 19:09   #3
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,680
По умолчанию

Вполне реален )
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сравнение дат в двух файлах Arsen_89 Microsoft Office Excel 3 01.02.2015 15:24
сравнение дат der90 PHP 4 15.02.2014 15:18
SQL фильтр и сравнение двух дат demiancz БД в Delphi 10 26.12.2013 15:36
Сравнение дат nieves SQL, базы данных 2 24.09.2013 19:45
сравнение дат Geddar Общие вопросы Delphi 2 04.06.2008 19:09