Курсы по программированию

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

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Iterator / Iterator - Digits

  • Мы продолжаем эксперименты с самым популярным
    и востребованным шаблоном проектирования: "Итератор".
    На этом уроке мы напишем ещё один Итератор, который
    будет перебирать цифры числа.
  • Дата отправки отчёта: 31 января 2017 г.
  • Задание выполнено: за 15 мин.
  • Чему научился: Перебирать число по цифрам
  • Что было сложным: ничего
  • Комментарии: Всё-таки сделала своим способом
  • Оценка видео-уроку:
Отчёт от 4004 за Iterator / Iterator - Digits




Оцени работу

 
Сохранить страницу:

1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Елена  # Шаблоны Проектирования / Iterator - Digits / 2017-01-31 20:58

Ради экономия одной строчки ломать логику хранения переменных?
Сомнительно. К тому же Программа не будет работать с числами близкими к максинт.


4004. --
Елена
Елена
ответить
→  Евгений Волосатов  # Шаблоны Проектирования / Iterator - Digits / 2017-02-01 05:01

Да, про MaxInt - то я не подумала. Существенное замечание, спасибо.



Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: суть итератора остаётся неизменной при всех ухищрениях наследования, перегрузки и удочерения классами классов - проверь наличие следующего элемента для обработки и вторым методом обработай его как требуется не забыв тут же инкрементировать, что бы перейти к следующему элементу Набросали три класса, один из которых пээсвээм, оставшиеся - находятся в родственной связи (один в другом) Пр0грам запускает цикл для перебора последовательности и возвращает на экран результат работы Родственники заняты иным Диджитс имплементит Итерабл и присваивает намберу значение аргумента на входе в конструкторе Дочерний ДиджитсИтератор имплементит уже Итератор и содержит базовые методы проверки следующего элемента и второй метод, занятый возвращением остатка от деления на 10 и целочисленным делением для «откусывания» хвоста числа с целью перехода к следующей цифре слева направо



Трудности: сначала запутался, но потом распутался.
Сначала не мог понять, почему это всё работает, ведь мы нигде не вызываем методы next() и hasNext(), а также метод, который создаёт итератор и прям уже руки опустились, когда вдруг вспомнил, что мы реализуем встроенный в джаву итератор, которому просто задаём алгоритм, а все вызовы делаются автоматом. А все эти методы мы вызывали в ручную когда реализовывали свои интерфейсы итераторов. Правильно я разобрался хоть ?