# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 | Подготовка - Фрукты по списку |
2 теста |
|||
На этом уроке мы познакомимся с перечислением Enum. Фактически - это набор именных констант в одной упаковке. Перечисления в языке Java представляют из себя класс, который предоставляет много интересных возможностей. Преимущества использования перечислений: + Все константы собраны под одним именем. + Можно проверить наличие строчного значения в списке. + Можно в цикле перебрать все константы. + Оператор выбора switch на основе перечисления исключает ошибки. + Можно использовать как константную справочную базу данных. Самостоятельное задание: Создайте перечисление по дням недели - от MONDAY до SUNDAY. Введите с клавиатуры строку и проверьте, является ли она днём недели. Выведите название введённого дня недели на русском языке (switch-case). Выведите на экран список всех дней недели, кроме введённого. Отчёт отправил: 11329. Zulchumor Kurbonova Выполнено за 15 мин. [Показать отчёт] Научился: Создавать перечислений дней недели. Проверять switch-case является ли введенный день днем недели, выводить его русское название и выврдить все дни недели, кроме введенного. Сложности: Несложно. Комментарии: Хорошее задание. |
|||||
2 | Подготовка - База фруктов |
1 тест |
|||
На этом уроке мы увидим интересные возможности перечислений enum в языке Java. Оказывается каждое слово - это не просто константное числовое значение, а целый экземпляр класса, в котором можно размещать справочную информацию. Получается целая константная база данных - справочник! Рекомендуемая литература: http://interviewinit.com/2014/04/java-enumerations-особенности/ 15 вопросов на собеседование относительно Enum, с ответами: http://info.javarush.ru/translation/2015/10/13/15-вопросов-для-собеседования-разработчиков-относительно-Enum-в-Джаве-с-ответами-.html Самостоятельное задание Отчёт отправил: 11329. Zulchumor Kurbonova Выполнено за 15 мин. [Показать отчёт] Научился: Создавать перечисления enum как отдельный класс и работать сним. Сложности: Несложно. Комментарии: Хорошее видео. |
|||||
3 |
![]() |
2 теста |
|||
Мы начинаем создание Java-проекта на основе задачи про Деда Мороза, который дарил детям фрукты. При создании проекта вы сможете проникнуться духом Явы и прочуствовать во всей красе суть объектно-ориентированного подхода. Отчёт отправил: 11329. Zulchumor Kurbonova Выполнено за 15 мин. [Показать отчёт] Научился: Для ввода данных использовала InputStreamReader, записываем фрукты в ArrayList, считаем количество введенных фруков и выводим на печать Сложности: Несложно Комментарии: Хорошее задание |
|||||
4 | Яблоки на снегу |
2 теста |
|||
На этом уроке мы добавим в нашу программу перечисление - enum Fruit. Таким образом мы сможем изменять список допустимых фруктов, не меняя основную программу. Отчёт отправил: 11329. Zulchumor Kurbonova Выполнено за 15 мин. [Показать отчёт] Научился: Добавила перечисление enum в отдельный файл Fruit.java и в ней метод на получение названия фрукта, которую вызываем в основной программе. Проверяем есть ли введенный с клавиатуры фрукт в нашем перечислении. Если его там нет, то его не считаем. Выводим на экран количество розданных Дедом Морозом фруктов. Сложности: Несложно. Комментарии: Хорошее задание. |
|||||
5 | Фрукточтец |
2 теста |
|||
На этом уроке мы создадим класс FruitReader, в который перенесём алгоритм считывания начальных данных. Таким образом основная программа значительно упростится. Создайте текстовы файл "fruits.txt". На нескольких строчках напишите названия фруктов. Не забудьте в конце файла два раза нажать Enter. Разместите файл в корень проекта. Попробуйте открыть файл, указав полный путь с именем. Отчёт отправил: 11329. Zulchumor Kurbonova Выполнено за 15 мин. [Показать отчёт] Научился: Создала отделный класс и методы для чтения с клавиатуры, с файла и правильно их обрабатывать их. Записала его в отдельный файл в том же проекте, а в основной программе вызвала метод чтения, подсчет и вывод на экран количества фруктов. Сложности: Несложно. Комментарии: Хорошее задание. |
|||||
6 | Фрукты из строки |
2 теста |
|||
На этом уроке мы напишем метод, который сконвертирует строчку в объект BufferedReader. Таким образом мы сможем задачу по заполнению коллекции фруктов из строки делегировать уже созданному методу Read(). Теперь наш класс FruitReader стал чересчур универсальным, и это не очень хорошо. Мы его разделим на несколько составных частей, каждая часть будет отвечать за свой инструментарий. Отчёт отправил: 11329. Zulchumor Kurbonova Выполнено за 15 мин. [Показать отчёт] Научился: Cоздала функцию ReadFromString(), чтобы считанную строчку в массив. Создала 3 пустых классов. Сложности: Несложно. Комментарии: Хорошее задание. |
|||||
7 | Волшебные конструкторы |
2 теста |
|||
На этом уроке мы рассмотрим несколько способов, как можно оформить содержимое наследников класса FruitReader. Какие будут преимущества и недостатки при их использовании из основной программы. В конечном итоге мы реализуем всё через волшебные конструкторы наследников. В основной программе алгоритм вычислений вынесем в отдельную функцию. Избавимся от статика и удивимся, как удобно теперь можно изменять тип источника данных - нужно всего лишь менять вызов конструктора. Отчёт отправил: 11329. Zulchumor Kurbonova Выполнено за 15 мин. [Показать отчёт] Научился: Пeренесла функции из FruitReader в созданные пустые клaссы. Вместо классов сделали конструкторы. В класcе FruitReader создaла пoле BufferedReader. В этом классе сделала метод Read() финальным, чтобы никто не мог его переделать. Избавилась от статики в основной программе. Для вычисления количества введенных фруктов перенесли в функцию Start, запускаем ее в основной программе. Сложности: Несложно. Комментарии: Хорошее задание. |
|||||
8 | Фруктовые комментарии |
2 теста |
|||
На этом уроке мы займёмся документированием созданных классов и методов. Мы будем использовать javadoc-стиль для автоматизации процесса создания документации. Отчёт отправил: 11329. Zulchumor Kurbonova Выполнено за 15 мин. [Показать отчёт] Научился: Добавлять комментарии и вспомнила как формировать html-документацию с помощью javadoc Сложности: Несложно. Комментарии: Хорошее и полезное видео. |
|||||
9 | Новые игрушки |
1 тест |
|||
На этом уроке мы попробуем расширить диапазон игрушек в мешке Деда Мороза. Сначала попробуем это сделать через обобщение, и окажемся в тупике. В конце урока мы найдём простое правильное решение, и выясним, почему стоит делать именно так. Совет: сначала посмотрите видео полностью, не внося изменений в код. Отчёт отправил: 11329. Zulchumor Kurbonova Выполнено за 15 мин. [Показать отчёт] Научился: Добавила в перечисление фруктов другие подарки - car. Сложности: Несложно. Комментарии: Хорошее видео. |
|||||
10 | Какие ваши аргументы? |
2 теста |
|||
На этом уроке мы сделаем управление нашей программой через аргументы командной строки. В этом случае мы сможем легко изменять источники входных данных. Не нужно больше менять и компилировать исходный код. Отчёт отправил: 11329. Zulchumor Kurbonova Выполнено за 15 мин. [Показать отчёт] Научился: Написала функцию по выводу инструкции для ввода данных. Параметрами ввода могут быть -file, -scan, -data. Передала параметр из Eclipse Run Configurations : -data APPLE. Запустила из командной строки. Сложности: Несложно. Комментарии: Хорошее видео. Всё выше к звездам :) |
|||||
11 | Рефакторинг аргументов |
1 тест |
|||
На этом уроке мы перенесём проверку аргументов командной строки в отдельную функцию. Попутно исправим некоторые недочёты и ошибки. Обоснуйте своими словами, почему мы решили не создавать отдельный класс для проверки аргументов? Отчёт отправил: 11329. Zulchumor Kurbonova Выполнено за 15 мин. [Показать отчёт] Научился: Вынeсла проверкy аргумeнтoв в функцию parseArgs(). Дописала в условие какой args[0]: -file, -scan, -data, сколько этих аргументов всего 2, 1 , либо равно ли больше 2соответственно. Для получения аргументов для параметра -data дописала переменную items. Сложности: Несложно. Комментарии: Аргументы не проверяем в отдельном классе, потому что тут же инициалзируем соответствующий конструктуор fr, который передает br в FruitReader, где происходит проверка с помощью Fruit.getFruit(line) и запись в массив. |
|||||
12 | Пошаговый проход |
1 тест |
|||
На этом уроке мы вынесем проверку аргументов в отдельную функцию. После этого займёмся исправлением ошибки, которая возникает при отсутствии \n в конце строк. Чтобы проще было найти ошибку, и улучшить понимание струкутры программы в целом, мы выполним пошагово всю программу, посмотрим на содержимое переменных и доберёмся до сути той ошибки. Отчёт отправил: 11329. Zulchumor Kurbonova Выполнено за 15 мин. [Показать отчёт] Научился: Проверку исходных данных вынесла в отдельную функцию parseArgs(String [] args), исправила обработку ошибки в FruitReader try-catch, если мы не нажимаем 2-ой Enter. Сложности: Несложно. Комментарии: Хорошее видео. |
|||||
13 | Массивная строка |
2 теста |
|||
На этом уроке мы создадим класс FruitReaderStringArray, в который вынесем алгоритм формирования строчки из массива. Урок длинный - очень много подробных объяснений - что мы делаем, почему мы делаем именно так. Отчёт отправил: 11329. Zulchumor Kurbonova Выполнено за 15 мин. [Показать отчёт] Научился: Созадала новый класс FruitReaderStringArray, который расширяет класс FruitReaderString. В нем созадала конструктор, в контсрукторе protected static String ArrayToString. Сложности: Несложно. Комментарии: Хорошее видео. |
|||||
14 | Логические задачи |
1 тест |
|||
На этом уроке мы начнём наращивать функционал нашего проекта. Создадим класс Logic, в котором реализуем несколько методов. Каждый метод будет решать одну задачу по списку фруктов. Отчёт отправил: 11329. Zulchumor Kurbonova Выполнено за 15 мин. [Показать отчёт] Научился: Создала класс Logic для вычислений, описала поле list в конструкторе, написала методы getCount(), getFruitCount(), getFruitMax() для подсчте общего количества введенных фруктов, количества конкретного фрукта и названия фрукта, которого больше всего введено. В основной программе создада экземпляр логики и вызвала ее. Сложности: Несложно. Комментарии: Хорошее видео. |
|||||
15 | Размер множества |
2 теста |
|||
На этом уроке мы продолжим работу над классом Logic. Напишем два разных способа решения одной задачи: Сколько разных фруктов в мешке у Деда Мороза? Самостоятельное задание: сделать пошаговое выполнение новых функций. Отчёт отправил: 11329. Zulchumor Kurbonova Выполнено за 15 мин. [Показать отчёт] Научился: Нaписала функцию getDiffCount() - количество различных фруктов, которые есть в enum, и которых больше 0. Нaписала функцию getSetCount() - количество различных фруктов, которые есть в списке введенных фруктов. Сложности: Несложно. Комментарии: Хорошее видео. |
|||||
16 | Список задач |
1 тест |
|||
На этом уроке мы составим список всех решаемых задач. У нас будет функция, которая запускает все задачи друг за другом. Также мы создадим ещё одно перечисление из всех возможных задач. Отчёт отправил: 11329. Zulchumor Kurbonova Выполнено за 15 мин. [Показать отчёт] Научился: Сoздала перечисление задач enum Task в основной программе. Перенесла его в класс Logic, в нем же дописала функции getTask(Task task) выводит ответ в таком виде как написала и getTask() ответы с переходом на следующую строку. Сложности: Несложно. Комментарии: Хорошее видео. |
|||||
17 | Форматы JSON и XML |
1 тест |
|||
На этом уроке мы переделаем класс Logic, чтобы он мог возвращать результаты расчётов в совершенно разных форматах - RAW, JSON, XML. Отчёт отправил: 11329. Zulchumor Kurbonova Выполнено за 15 мин. [Показать отчёт] Научился: Создала методы getTaskROW(), getTaskXML(), getTaskJSON(). Всё это сделано для того, чтобы по-другому выводить на экран ответ. Сложности: Несложно. Комментарии: Хорошее видео. |
|||||
18 | Профессиональный Интерфейс |
2 теста |
|||
На этом уроке мы создадим интерфейс Convertable. Он поможет нам выделить из класса Logic задачи по конвертации. Отчёт отправил: 11329. Zulchumor Kurbonova Выполнено за 15 мин. [Показать отчёт] Научился: Создавала интерфейс Convertable для того, чтобы выделить из класса Logic задачи по конвертации. Создавала пустую функцию public String Convert(HashMap<String, String> map) Сложности: Несложно. Комментарии: Хорошее видео. |
|||||
19 | Коллекция HashMap |
2 теста |
|||
На этом уроке мы создадим в классе Logic метод, который запишет результаты вычислений в словарь - то есть в коллекцию HashMap Отчёт отправил: 11329. Zulchumor Kurbonova Выполнено за 15 мин. [Показать отчёт] Научился: Создала функцию public HashMap<String, String> getTask() , чтобы сформировать словарь и вызвала в основной программе это метод. Интерфейс - это совокупность методов и правил взаимодействия элементов системы. Другими словами интерфейс определяет как элементы будут взаимодействовать между собой. Сложности: Несложно. Комментарии: Хорошее видео. |
|||||
20 | Конвертабельные классы |
3 теста |
|||
На этом уроке мы сделаем три новых класса, каждый из которых реализует интерфейс Convertable. В каждом классе будет всего одна функция - Convert(), которая из словаря создаёт нужную структуру данных. Отчёт отправил: 11329. Zulchumor Kurbonova Выполнено за 15 мин. [Показать отчёт] Научился: Поочередно созада ла три класса ConvertXML, ConvertJSON, ConvertRAW. Каждый реализовывал интефейс Convertable. Пoдключила по очереди кaждый класс и пpoвеpила работу. Интерфейс нужен для того, чтобы наследовать больше одного класса. Сложности: Несложно. Комментарии: Хорошее видео. |
|||||
21 | Параметр Формата |
1 тест |
|||
На этом уроке мы обсудим возможность управления форматом вывода результата нашей программой через передачу параметра командной строки: java Program [-format json|xml|raw] Отчёт отправил: 11329. Zulchumor Kurbonova Выполнено за 15 мин. [Показать отчёт] Научился: Поменяла текст во встроенной функции ShowManual() для ввода нужного формата: json, xml, raw Поменяла названия для parseArgsFReader() и создала parseArgsConvert(). Сложности: Несложно. Комментарии: Хорошее видео. |
|||||
22 | Параметрический Созидатель |
3 теста |
|||
На этом уроке мы так и не реализуем функцию parseArgsConvert(). Вместо этого мы организуем более общий подход к анализу аргументов. Разделим список всех аргументов на составные части по их назначению. И подготовим функцию create(), которая будет созидать каждую часть. Отчёт отправил: 11329. Zulchumor Kurbonova Выполнено за 15 мин. [Показать отчёт] Научился: Сoздала функцию public static void parseArgs (String [] args) для обработки параметров. Создала функцию create() для каждого спиcка парaмeтрoв. Сложности: Несложно. Комментарии: Хорошее видео. |
|||||
23 | Создатель |
2 теста |
|||
На этом уроке напишем функцию create.
Отчёт отправил: 11329. Zulchumor Kurbonova Выполнено за 15 мин. [Показать отчёт] Научился: Вынeсла за пределы основной программы main переменныe co и fr и присвоила им значения по умолчанию. Написала функцию create. Откоректировала конструктор public FruitReaderStringArray(List<String> list). Сложности: Несложно. Комментарии: Хорошее видео. |
|||||
24 | Как шагает Дед Мороз |
1 тест |
|||
На этом уроке мы пошагово выполним всю программу, увидим, как параметры командной строки разделяются на несколько списков и поочерёдно обрабатываются. Отчёт отправил: 11329. Zulchumor Kurbonova Выполнено за 15 мин. [Показать отчёт] Научился: Иcправила ошибку сpавнения стpoк, дописала equals(). Сделала пошагоое выполение. Сложности: Несложно. Комментарии: Хорошее видео. |
|||||
25 | Конвертабельность |
2 теста |
|||
На этом уроке мы наконец-таки проанализируем параметры командной строки и создадим нужный экземпляр конверт. Отчёт отправил: 11329. Zulchumor Kurbonova Выполнено за 15 мин. [Показать отчёт] Научился: Дописала в функции create() обработку параметров формата: XML, JSON, RAW. Проверила работу программы из командной строки. Сложности: Несложно. Комментарии: Хорошее видео. |
|||||
26 | Фабрика параметров |
1 тест |
|||
На этом уроке мы наконец-таки закончим создание основной части программы. Мы создадим класс ParamFabric, в который перенесём весь парсинг аргументов. Останется только оформить документацию - написать комментарии. Отчёт отправил: 11329. Zulchumor Kurbonova Выполнено за 15 мин. [Показать отчёт] Научился: Сoздала класс ParamFabric. В нем создала поля fruitReader и convertable. Перенесла в этот класс методы parseArgs() и create(). Подчистила код основной программы. Сложности: Несложно. Комментарии: Хорошее видео. |
|||||
27 | Буфера в стрингах |
2 теста |
|||
На этом уроке мы пройдёмся по всему коду программы и сделаем небольшие улучшения кода. В основном мы будем заменять String на StringBuffer в тех местах, где происходит итеративное формирование строк. Отчёт отправил: 11329. Zulchumor Kurbonova Выполнено за 15 мин. [Показать отчёт] Научился: Избавилась от предупреждений в классах. Переименовала классы по конвертировке, ParamFabric на ParamFactor. Зaменила String на StringBuffer, написала сеттер для полей в ParamFactory, создала новую функцию в ParamFactory и перенесла туда обработку параметров формата данных. Сложности: Несложно. Комментарии: Хорошее видео. |
|||||
28 | Документация Деда Мороза |
1 тест |
|||
На этом уроке мы опять пройдёмся по всему проекту и допишем документируемые комментарии. Затем создадим HTML-документацию используя утилиту JavaDoc. |
|||||
29 | Задедомороженный Архив |
1 тест |
|||
На этом уроке мы запакуем весь архив в один файл, используя утилиту jar. В таком виде удобно копировать и распространять программу - вместо огромного количества файлов - всего один архив. Отчёт отправил: 11329. Zulchumor Kurbonova Выполнено за 15 мин. [Показать отчёт] Научился: Сoздала из командной стpочки арxив DedMoroz.jar, запустила ее с параметрами в формате json. Сложности: Несложно. Комментарии: Хорошее видео. |
|||||
30 | Комплименты Деду Морозу |
без видео 1 тест |
|||
Поздравляю с завершением Объектно-Ориентированного-Проекта на примере решения задачи про Деда Мороза. Пожалуйста, оставь отзыв об этом видеокурсе. Что тебе понравилось, что не понравилось, что можно было бы сделать лучше, в свободной новогодней форме. Отчёт отправил: 11329. Zulchumor Kurbonova Выполнено за 15 мин. [Показать отчёт] Научился: Хорошее задание про Дедушку Мороза, последовательный, нескучный, самое главное полезный. Целый проект. Так хочется праздников :). Спасибо. Но всё-таки он не для совсем для начинающих. Людям без знания таблицы умножения объяснять почти что высшую математику :). Всё равно всё не поймут. Еще раз спасибо. Сложности: Несложно, пока вы смотришь видео. Комментарии: Видео-супер. |
|||||
Итого: 30 видеоуроков |
7 час. 04 мин. 49 тестов |
15 чел. | |||
Финалисты: Новопашин Владимир, Иван Воронин, Алексей В., Tekashnik, Сергей Соколов, Константин, Валерий Жданов, Станислав, Andrej Petrunev, Chip, Dmitry Sinitsin, Anatoli, Yefim, Ksandr, Tom . |