[Skillbox] Java-разработчик - модуль 10 - массивы и коллекции. 2023 год. (Решение → 55714)

Описание

[Skillbox] Java-разработчик - модуль 10 - массивы и коллекции. 2023 год.

Задача 1 - ReverseArray

Задача 2 - Hospital

Задача 3 - TwoDimensionalArray

Задача 4 - TodoList

Задача 5 - EmailList

Задача 6 - PhoneBook

Задача 7 - CoolNumbers

Оглавление

Задача 1 - ReverseArrayЗадание выполняйте в классе src/main/java/practice/reverseArray/Что нужно сделатьВ классе ReverseArray реализуйте метод reverse(), который должен поменять порядок элементов на обратный и вернуть тот же самый массив.Проверьте ваш код

Задача 1 - ReverseArray

Задание выполняйте в классе src/main/java/practice/reverseArray/

Что нужно сделать

  • В классе ReverseArray реализуйте метод reverse(), который должен поменять порядок элементов на обратный и вернуть тот же самый массив.
  • Проверьте ваш код с помощью тестов.

Пример

Первоначальный массив: [“a”, “b”, “c”, “d”].

Массив с элементами в обратном порядке: [“d”, “c”, “b”, “a”].


Задача 2 - Hospital

Задание выполняйте в классе src/main/java/practice/hospital/

Что нужно сделать

  • Напишите код метода generatePatientsTemperatures(), который должен сгенерировать массив float, содержащий значения температур пациентов от 32 до 40 градусов.
  • В методе getReport()вам требуется составить строку с отчётом по значениям температур в массиве с пациентами:
  • Соберите в строку список температур пациентов.
  • Рассчитайте среднее арифметическое значение температуры.
  • Посчитайте количество здоровых пациентов с температурой от 36,2 до 36,9 градусов.
  • Проверьте свой код с помощью тестов.


Задача 3 - TwoDimensionalArray

Задание выполняйте в классе src/main/java/practice/twoDimensionalArray/

Цель задания

Закрепить навыки работы с массивами, используя двумерный массив.

Что нужно сделать

В классе TwoDimensionalArray реализуйте метод

public static char[][] getTwoDimensionalArray(int size) {

который должен создать двумерный массив размера size, на диагоналях которого должны быть символы 'X', в остальных ячейках пробел ' '.

Если распечатать массив сформированный методом getTwoDimensionalArray с аргументом 7, то должны получить:

X Х

Х Х

Х Х

Х

Х Х

Х Х

Х Х


Задача 4 - TodoList

Задание выполняйте в проекте src/main/java/practice/

  1. Разработайте программу — список дел, который управляется командами в консоли. Команды: LIST, ADD, EDIT, DELETE.
  2. Для работы с данными списка дел в проекте находится класс TodoList, который должен отвечать за хранение и работу со списком дел. Реализуйте все методы и проверьте класс с помощью существующих тестов.
  3. В классе Main напишите код для реализации взаимодействия с пользователем через ввод команд в консоль.

Принцип работы команд:

  • LIST — выводит дела с их порядковыми номерами;
  • ADD — добавляет дело в конец списка или дело на определённое место, сдвигая остальные дела вперёд, если указать номер; если указан несуществующий индекс - добавить в конец списка.
  • EDIT — заменяет дело с указанным номером; если указан несуществующий индекс - ничего не делать.
  • DELETE — удаляет; если указан несуществующий индекс - ничего не делать.

Команды вводятся пользователем в консоль одной строкой.


Примеры работы со списком дел (жирным шрифтом выделен ввод пользователя)

ADD buy milk

Добавлено дело "buy milk"

ADD learn java

Добавлено дело "learn java"

LIST

0 - buy milk

1 - learn java

EDIT 0 make a cup of tea

Дело "buy milk" заменено на "make a cup of tea"

DELETE 1

Дело "learn java" удалено

LIST

0 - make a cup of tea

DELETE 100

Дело с таким номером не существует


Задача 5 - EmailList

Задание выполняйте в классе src/main/java/practice/.

Напишите программу, в которой будет храниться перечень адресов электронной почты. Адреса можно добавлять через консоль командой ADD и печатать весь список командой LIST.

Программа должна проверять корректность вводимых email и печатать сообщение об ошибке при необходимости.

Для работы с данными списка дел в проекте находится класс EmailList, который должен отвечать за хранение и работу с электронными адресами. Реализуйте все методы и проверьте класс с помощью существующих тестов. Вы можете добавлять дополнительные методы в класс.

Принцип работы команд

LIST — выводит список электронных адресов.

ADD — проверяет и, если формат адреса верный, добавляет в множество.


Примеры команд

LIST

ADD

Команды вводятся одной строкой пользователем в консоль.


Примеры работы со списком электронных адресов (жирным шрифтом выделен ввод пользователя)

ADD

ADD

ADD

ADD

LIST


Задача 6 - PhoneBook

Задание выполняйте в классе src/main/java/practice/.

  • Напишите программу, которая будет работать как телефонная книга:
  • Если вводим новое имя, программа просит ввести номер телефона и запоминает его.
  • Если новый номер телефона — просит ввести имя и также запоминает.
  • Если вводим существующее имя или номер телефона, программа выводит телефон(ы) или имя абонента соответственно.
  • При вводе команды LIST программа печатает в консоль список всех абонентов в алфавитном порядке с номерами.
  • Определяйте имя и телефон с помощью регулярных выражений.
  • Подумайте, что выбрать в качестве ключа и значения для Map, и выберите лучший, по вашему мнению, вариант. Опишите, какие минусы и плюсы видите в своём выборе.
  • Для работы с данными телефонной книги в проекте находится класс PhoneBook, который должен отвечать за хранение и работу с абонентами. Реализуйте все методы и проверьте класс с помощью существующих тестов. Вы можете добавлять дополнительные методы в класс.
  • Команды вводятся пользователем в консоль одной строкой.

Примеры работы с телефонной книгой (жирным шрифтом выделен ввод пользователя)

Введите номер, имя или команду:

Маша

Такого имени в телефонной книге нет.

Введите номер телефона для абонента “Маша”:

79001234567

Контакт сохранен!

Введите номер, имя или команду:

79007654321

Такого номера нет в телефонной книге.

Введите имя абонента для номера “79007654321”:

Маша

Контакт сохранен!

Введите номер, имя или команду:

Nfif@

Неверный формат ввода

Введите номер, имя или команду:

LIST

Маша - 79001234567, 79007654321


Задача 7 - CoolNumbers

Выполните задание в классе src/main/java/practice/.

  1. Реализуйте метод генерации «красивых» автомобильных номеров generateCoolNumbers() в классе CoolNumbers. Используйте следующие правила генерации номеров:
  • XYZ — различный набор из списка разрешенных букв, N — цифры, R — регион (от 01 до 199);
  • XNNNYZR — пример: A111BC197, У777HC66.
  • В госномерах автомобилей в РФ используются следующие буквы: А, В, Е, К, М, Н, О, Р, С, Т, У, Х.
  • В коллекции должно быть не менее 2 млн номеров.
  1. Реализуйте методы поиска класса CoolNumbers по поиску номеров в каждой коллекции:
  • прямым перебором по ArrayList,
  • бинарным поиском по сортированному ArrayList,
  • поиском в HashSet,
  • поиском в TreeSet.
  1. Измерьте и выведите длительность каждого метода поиска. Формат вывода результатов поиска:
  • Поиск перебором: номер найден/не найден, поиск занял 34нс
  • Бинарный поиск: номер найден/не найден, поиск занял 34нс
  • Поиск в HashSet: номер найден/не найден, поиск занял 34нс
  • Поиск в TreeSet: номер найден/не найден, поиск занял 34нс
    
            Описание
            [Skillbox] Java-разработчик - модуль 10 - массивы и коллекции. 2023 год.Задача 1 - ReverseArrayЗадача 2 - HospitalЗадача 3 - TwoDimensionalArrayЗадача 4 - TodoListЗадача 5 - EmailListЗадача 6 - PhoneBookЗадача 7 - CoolNumbers 
            Оглавление
            Задача 1 - ReverseArrayЗадание выполняйте в классе src/main/java/practice/reverseArray/Что нужно сделатьВ классе ReverseArray реализуйте метод reverse(), который должен поменять порядок элементов на обратный и вернуть тот же самый массив.Проверьте ваш код с помощью тестов.ПримерПервоначальный массив: [“a”, “b”, “c”, “d”].Массив с элементами в обратном порядке: [“d”, “c”, “b”, “a”].Задача 2 - HospitalЗадание выполняйте в классе  src/main/java/practice/hospital/Что нужно сделатьНапишите код метода generatePatientsTemperatures(), который должен сгенерировать массив float, содержащий значения температур пациентов от 32 до 40 градусов.В методе getReport()вам требуется составить строку с отчётом по значениям температур в массиве с пациентами:Соберите в строку список температур пациентов.Рассчитайте среднее арифметическое значение температуры.Посчитайте количество здоровых пациентов с температурой от 36,2 до 36,9 градусов.Проверьте свой код с помощью тестов.Задача 3 - TwoDimensionalArrayЗадание выполняйте в классе src/main/java/practice/twoDimensionalArray/Цель заданияЗакрепить навыки работы с массивами, используя двумерный массив.Что нужно сделатьВ классе TwoDimensionalArray реализуйте методpublic static char[][] getTwoDimensionalArray(int size) { который должен создать двумерный массив размера size, на диагоналях которого должны быть символы 'X', в остальных ячейках пробел ' '.Если распечатать массив сформированный методом getTwoDimensionalArray с аргументом 7, то должны получить:X                   Х   Х             Х        Х    Х           Х        Х    Х   Х             ХХ                    ХЗадача 4 - TodoListЗадание выполняйте в проекте src/main/java/practice/Разработайте программу — список дел, который управляется командами в консоли. Команды: LIST, ADD, EDIT, DELETE. Для работы с данными списка дел в проекте находится класс TodoList, который должен отвечать за хранение и работу со списком дел. Реализуйте все методы и проверьте класс с помощью существующих тестов.В классе Main напишите код для реализации взаимодействия с пользователем через ввод команд в консоль.Принцип работы команд:LIST — выводит дела с их порядковыми номерами;ADD — добавляет дело в конец списка или дело на определённое место, сдвигая остальные дела вперёд, если указать номер; если указан несуществующий индекс - добавить в конец списка.EDIT — заменяет дело с указанным номером; если указан несуществующий индекс - ничего не делать.DELETE — удаляет; если указан несуществующий индекс - ничего не делать.Команды вводятся пользователем в консоль одной строкой.Примеры работы со списком дел (жирным шрифтом выделен ввод пользователя)ADD buy milkДобавлено дело buy milkADD learn javaДобавлено дело learn javaLIST0 - buy milk1 - learn javaEDIT 0 make a cup of teaДело buy milk заменено на make a cup of teaDELETE 1Дело learn java удаленоLIST0 - make a cup of teaDELETE 100Дело с таким номером не существуетЗадача 5 - EmailListЗадание выполняйте в классе src/main/java/practice/.Напишите программу, в которой будет храниться перечень адресов электронной почты. Адреса можно добавлять через консоль командой ADD и печатать весь список командой LIST.Программа должна проверять корректность вводимых email и печатать сообщение об ошибке при необходимости.Для работы с данными списка дел в проекте находится класс EmailList, который должен отвечать за хранение и работу с электронными адресами. Реализуйте все методы и проверьте класс с помощью существующих тестов. Вы можете добавлять дополнительные методы в класс.Принцип работы командLIST — выводит список электронных адресов.ADD — проверяет и, если формат адреса верный, добавляет в множество.Примеры командLISTADD Команды вводятся одной строкой пользователем в консоль.Примеры работы со списком электронных адресов (жирным шрифтом выделен ввод пользователя)ADD ADD ADD ADD LISTЗадача 6 - PhoneBookЗадание выполняйте в классе src/main/java/practice/.Напишите программу, которая будет работать как телефонная книга: Если вводим новое имя, программа просит ввести номер телефона и запоминает его.Если новый номер телефона — просит ввести имя и также запоминает.Если вводим существующее имя или номер телефона, программа выводит телефон(ы) или имя абонента соответственно.При вводе команды LIST программа печатает в консоль список всех абонентов в алфавитном порядке с номерами.Определяйте имя и телефон с помощью регулярных выражений.Подумайте, что выбрать в качестве ключа и значения для Map, и выберите лучший, по вашему мнению, вариант. Опишите, какие минусы и плюсы видите в своём выборе.Для работы с данными телефонной книги в проекте находится класс PhoneBook, который должен отвечать за хранение и работу с абонентами. Реализуйте все методы и проверьте класс с помощью существующих тестов. Вы можете добавлять дополнительные методы в класс.Команды вводятся пользователем в консоль одной строкой. Примеры работы с телефонной книгой (жирным шрифтом выделен ввод пользователя)Введите номер, имя или команду:МашаТакого имени в телефонной книге нет.Введите номер телефона для абонента “Маша”:79001234567Контакт сохранен! Введите номер, имя или команду:79007654321Такого номера нет в телефонной книге.Введите имя абонента для номера “79007654321”:МашаКонтакт сохранен! Введите номер, имя или команду:Nfif@Неверный формат ввода Введите номер, имя или команду:LISTМаша - 79001234567, 79007654321Задача 7 - CoolNumbersВыполните задание в классе src/main/java/practice/.Реализуйте метод генерации «красивых» автомобильных номеров generateCoolNumbers() в классе CoolNumbers. Используйте следующие правила генерации номеров:XYZ — различный набор из списка разрешенных букв, N — цифры, R — регион (от 01 до 199);XNNNYZR — пример: A111BC197, У777HC66.В госномерах автомобилей в РФ используются следующие буквы: А, В, Е, К, М, Н, О, Р, С, Т, У, Х.В коллекции должно быть не менее 2 млн номеров.Реализуйте методы поиска класса CoolNumbers по поиску номеров в каждой коллекции:прямым перебором по ArrayList,бинарным поиском по сортированному ArrayList,поиском в HashSet,поиском в TreeSet.Измерьте и выведите длительность каждого метода поиска. Формат вывода результатов поиска:Поиск перебором: номер найден/не найден, поиск занял 34нсБинарный поиск: номер найден/не найден, поиск занял 34нсПоиск в HashSet: номер найден/не найден, поиск занял 34нсПоиск в TreeSet: номер найден/не найден, поиск занял 34нс  
            
            
            [Skillbox] Java-разработчик - модуль - 09_FilesAndNetwork[Skillbox] Java-разработчик - модуль 10 - массивы и коллекции. 2023 год.[Skillbox] Java-разработчик. Модуль 10 Наследование и полиморфизм. Решение задач домашней работы 10.1, 10.2[Skillbox] Java-разработчик. Модуль 11 Особенности ООП в Java. Решение задач домашней работы №11.1 и №11.2[Skillbox] Java-разработчик - модуль 13 - Наследование.  2023 год.[Skillbox] Java-разработчик - модуль 14 - Абстрактные классы и интерфейсы -  Практическая работа 14.9 - Company[Skillbox] Java-разработчик - модуль 15 - Практическая работа 15.14 - Airport.SimpleAnalysisSince 1947 Queen Elizabeth II ….. to Prince Phillip, Duke of Edinburgh. Выберите один ответ: a.has been married b.is married c.had been married d.has marriedSince she isn’t answering the telephone, she ….. Выберите один ответ: a.can have left b.must have left c.need have left d.should have leftSince the start of the new millennium, British households ….. more than they earn. Выберите один ответ: a.had been spending b.are spending c.have been spending d.spendSinergya. Ответы по дисциплине: Профессиональная деятельность в условиях неопределённостиSit down, Peter. … mark is “good”. Выберите один или несколько ответов: 1.His 2.Your 3.You 4.MySIT транзисторы производятся с каналами