Мы продолжаем эксперименты с самым популярным и востребованным шаблоном проектирования: "Итератор". На этом уроке мы напишем ещё один Итератор, который будет перебирать цифры числа.
Дата отправки отчёта:
28 марта 2017 г.
Задание выполнено: за
30 мин.
Чему научился:
Повторил пройденное
Что было сложным:
найти время
Комментарии:
Отличный пример использования итератора. Как обычно добавил класс ConsoleArt() для генерации красивой таблицы в консоли. Избавился от статика. В таблице отображено три варианта обработки цифр числа: 1 - перебор цифр, 2 - сумма цифр, 3 - произведение цифр.
Оценка видео-уроку:
Оцени работу
Сохранить страницу:
Начинаем практику по языку C#
Чтобы стать хорошим программистом — нужно писать программы.
На нашем сайте очень много практических упражнений.
После заполнения формы ты будешь подписан на рассылку
«C# Вебинары и Видеоуроки»,
у тебя появится доступ к видеоурокам и консольным задачам.
Несколько раз в неделю тебе будут приходить письма —
приглашения на вебинары, информация об акциях и скидках,
полезная информация по C#.
Научился: суть итератора остаётся неизменной при всех ухищрениях наследования, перегрузки и удочерения классами классов - проверь наличие следующего элемента для обработки и вторым методом обработай его как требуется не забыв тут же инкрементировать, что бы перейти к следующему элементу
Набросали три класса, один из которых пээсвээм, оставшиеся - находятся в родственной связи (один в другом)
Пр0грам запускает цикл для перебора последовательности и возвращает на экран результат работы
Родственники заняты иным
Диджитс имплементит Итерабл и присваивает намберу значение аргумента на входе в конструкторе
Дочерний ДиджитсИтератор имплементит уже Итератор и содержит базовые методы проверки следующего элемента и второй метод, занятый возвращением остатка от деления на 10 и целочисленным делением для «откусывания» хвоста числа с целью перехода к следующей цифре слева направо
Трудности: сначала запутался, но потом распутался. Сначала не мог понять, почему это всё работает, ведь мы нигде не вызываем методы next() и hasNext(), а также метод, который создаёт итератор и прям уже руки опустились, когда вдруг вспомнил, что мы реализуем встроенный в джаву итератор, которому просто задаём алгоритм, а все вызовы делаются автоматом. А все эти методы мы вызывали в ручную когда реализовывали свои интерфейсы итераторов. Правильно я разобрался хоть ?