|
0 / 0 / 0
Регистрация: 07.12.2017
Сообщений: 13
|
||||||
Нужно разобраться в коде24.01.2019, 23:25. Показов 1604. Ответов 5
Метки нет (Все метки)
Прошу помочь написать комментарии, особенно с 14 по 22 строку. Нужно обьяснить код, как оно работает
0
|
||||||
| 24.01.2019, 23:25 | |
|
Ответы с готовыми решениями:
5
Нужно разобраться в коде Нужно разобраться в коде нужно разобраться в коде |
|
0 / 0 / 0
Регистрация: 13.07.2017
Сообщений: 12
|
||
| 25.01.2019, 02:35 | ||
|
•Protected значит его можно будет переопределить
•DefaultMutableTreeNode какой-то класс который я не знаю. Создается его экземпляр root и присваевается GetSelectedNode(); которые тоже остается "за кадром". Судя по всему он возрящает экземпляр класса DefaultMutableTreeNode. •if (root == null) return; проверка на то что GetSelectedNode(); не вернул нам "пустоту" тобишь null. Если все таки вернул то выходим из функции. •LocalDate minValue = LocalDate.of(9999, Month.JANUARY, 01); создаем переменную minValue для храниния даты которую возращает LocalDate.of(...); •DefaultMutableTreeNode oldest = null; создаем еще один экземпляр DefaultMutableTreeNode "пустой" тобишь null. •Enumeration по всей видимости массив/лист/список. Значит создаем список для DefaultMutableTreeNode. В него засовываем root.postorderEnumeration(); (из второй моей точки) •Ну а дальше цикл, перебор того списка. •Бла бла извлекаем какой-то object из каждого DefaultMutableTreeNode по порядку. •if (!(data instanceof Products))contunue; т.е. если этот объект это не класс Products то "листаем" дальше. •LocalDate value = ((Products) data).getdatepostprod(); (Products) data - говорим что data (Object) это класс Products чтобы мы могли с ним взаимодействовать так, как если бы это был Products. Для этого мы делали проверку выше если вдруг нам "подсунули" что-то иное. .getdatepostprod(); - извлекаем дату из нашего data (который уже оказывается Products). •Далее идет цепочка if else if (value.getYear() < minValue.getYear()) { minValue = value; oldest = currentNode; } Если год нашего объекта будет меньше чем minValue.getYear() (а мы указали там супер 9999 год, т.е. в первый раз всегда будет true), то в minValue записываем дату нашего Products. Таким образом minValue, после всей переборки, будет хранить дату самой молодой/свежей/последней Products. •Однако, если следующий Products будет старше предыдущего или того же года, то if (value.getMonth Value() < minValue.getMonthValue()) { minValue = value; oldest = currentNode; } То сравниваем месяца. Выясняем кто же все таки "свежее". Однако, думаю здесь ошибка... Значит приходит Products 2008/5/10. Записывается в minValue Затем приходит Products 2009/4/12. Он старше, так что проверку на год не проходит. А раз так, переходит в след. if на проверку по месяцам. В то время как он должен был "отбросить его в сторону". Ну раз не отбросил, получается что 4<5 и 2009/4/12 записывается как наименьший возраст. •Затем, та же самая канитель для дней. •забыл про переменную oldest. Все же этот алгоритм должен искать самый старый Products а не молодой?
0
|
||
|
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
|
||
| 25.01.2019, 09:29 | ||
0
|
||
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
| 25.01.2019, 10:08 | |
|
2
|
|
|
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
|
|
| 25.01.2019, 10:32 | |
|
Не по теме: Тьфу ты, блин
0
|
|
|
528 / 263 / 70
Регистрация: 11.12.2016
Сообщений: 1,223
|
|
| 25.01.2019, 11:39 | |
|
0
|
|
| 25.01.2019, 11:39 | |
|
Помогаю со студенческими работами здесь
6
Нужно разобраться в коде Нужно разобраться в коде
Нужно разобраться в коде Нужно разобраться в коде Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|