Сравнение стоимости доставки посылок — практический проект на Java для тех, кто хочет применять интерфейсы и полиморфизм для полезного выбора. Вы создадите терминальную программу, которая рассчитывает предложения для синтетических посылок, отделяет доступность услуги от цены и сохраняет все самые дешёвые варианты в полном файле расчётов.
Курс объединяет две пошаговые лабораторные работы и одно самостоятельное задание. Сначала вы реализуете фиксированные и ступенчатые тарифы через общий интерфейс. Затем сравните объекты правил, добавите ещё одно настроенное правило без переписывания метода сравнения и сохраните реальный вывод в work/quotes.tsv. В задании используются другие посылки и тарифы с теми же механизмами. Каждая работа независимо предоставляет свой исходный каркас программы и данные.
Чему вы научитесь
После завершения курса вы сможете:
- реализовывать взаимозаменяемые правила доставки с помощью интерфейса Java и
implements; - отделять доступность услуги от целочисленной цены в центах, включая допустимые предложения с нулевой ценой;
- рассчитывать цены в целых граммах и центах, округляя число начатых весовых ступеней вверх;
- сохранять все правила с одинаковой минимальной ценой и отличать допустимое отсутствие предложений от неверного веса;
- добавлять параметризованный экземпляр существующего правила без изменения процесса сравнения;
- сохранять идентификаторы посылок и исходные данные, записывая полные предложения и самые выгодные варианты для каждой посылки.
Для кого этот курс
Курс предназначен для изучающих Java, которые готовы отработать классы и полиморфизм в небольшом законченном терминальном приложении.
Предварительные требования: Классы, конструкторы, методы, списки, базовый полиморфизм Java и простая навигация в терминале. Пошаговые работы объясняют interface, implements, явный результат расчёта и необходимую целочисленную формулу ступенчатой цены.
Учебная среда: LabEx предоставляет WebIDE в браузере со встроенным терминалом, компилятором Java, начальным исходным кодом и синтетическими записями посылок и тарифов. Локальная установка Java или инструментов сборки не нужна. Команды, подписи и вывод приложения остаются на английском.
Часто задаваемые вопросы
Это актуальные цены настоящих перевозчиков?
Нет. Все тарифы являются синтетическими учебными данными. Программа выполняет настоящие вычисления на Java и создаёт реальный файл по предоставленным правилам, но не обращается к службе доставки.
Нужно ли писать всё приложение с нуля?
Нет. Скрипт запуска и средства чтения входных данных уже подготовлены. Вы завершите проверку доступности, фиксированную и ступенчатую цену и сравнение через интерфейс. Корректная посылка без подходящего правила — нормальный результат; неверный вес отклоняет весь пакет входных данных до вывода расчётов.
Как самостоятельное задание развивает материал лабораторных работ?
Меняются идентификаторы посылок, веса и параметры тарифов; присутствуют равные минимумы и посылка без предложений. Вы объедините те же изученные правила, чтобы получить полные расчёты и сохранить исходные записи. Среды независимы, поэтому файлы предыдущей работы не требуются.


