Skip to content

Latest commit

 

History

History
 
 

methods

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

Домашнее задание к занятию «2.2. Testability, автотесты, введение в ООП: объекты и методы»

В качестве результата пришлите ссылки на ваши GitHub-проекты в личном кабинете студента на сайте netology.ru.

Все задачи этого занятия нужно делать в разных репозиториях.

Важно: если у вас что-то не получилось, то оформляйте Issue по установленным правилам.

Важно: не делайте ДЗ всех занятий в одном репозитории! Иначе вам потом придётся достаточно сложно подключать системы Continuous Integration.

Как сдавать задачи

  1. Инициализируйте на своём компьютере пустой Git-репозиторий
  2. Добавьте в него готовый файл .gitignore
  3. Добавьте в этот же каталог необходимые файлы
  4. Сделайте необходимые коммиты
  5. Создайте публичный репозиторий на GitHub и свяжите свой локальный репозиторий с удалённым
  6. Сделайте пуш (удостоверьтесь, что ваш код появился на GitHub)
  7. Ссылку на ваш проект отправьте в личном кабинете на сайте netology.ru
  8. Задачи, отмеченные, как необязательные, можно не сдавать, это не повлияет на получение зачета

Задача №1 - Мили (модернизация)

Легенда

Поскольку вы уже научились создавать классы и методы, вам необходимо модернизировать приложение для рассчёта миль.

Что для этого нужно:

  1. Создайте класс BonusMilesService
  2. Определите в нём метод calculate, который:
    1. Принимает на вход один параметр: cost типа int
    2. Возвращает рассчитанное количество миль (тип - int)

Разместите следующий код в классе Main:

public class Main {
    public static void main(String[] args) {
        BonusMilesService service = new BonusMilesService();
        int price = 10_000;
        int miles = service.calculate(price);
        System.out.println(miles);
    }
}

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

Напоминаем условия рассчёта:

Авиаперевозчики предлагают различные бонусные программы, начисляющие бесплатные мили за перелёты.

Формула следующая: за каждые 20 рублей, потраченные на билет, начисляется 1 миля.

Что вам нужно: создать базовое приложение, рассчитывающее количество начисленных мили за купленный билет.

Итого: у вас должен быть репозиторий на GitHub, в котором расположен ваш Java-код.

Задача №2 - "Индекс Массы Тела"

Легенда

Здоровый образ жизни - это модно, стильно, современно.

Вы решили написать сервис, который рассчитывает Индекс Массы Тела (Body Mass Index).

Вы необходимо:

  1. Самостоятельно собрать информацию о том, какие входные данные нужны для рассчёта (вы же умеете гуглить 😉)
  2. Создать класс BmiService с методом calculate (помните, что вы считаете индекс, а не выдаёте диагноз)
  3. Продемонстрировать в Main (по аналогии с первой задачей):
    1. Создание объекта
    2. Вызов метода calculate
    3. Печать в консоль результата

Итого: у вас должен быть репозиторий на GitHub, в котором расположен ваш Java-код.

Задача №3 (необязательная) - "Кредитный Калькулятор"

Важно: данная задача не является обязательной! Её не выполнение не влияет на получение зачёта по ДЗ.

Легенда

Вам поручили написать кредитный калькулятор, который "считает как на сайте". Но формулы, естественно, не дали.

Вам нужно провести небольшой анализ и написать свой CreditPaymentService, который умеет рассчитывать ежемесячный платёж.

Параметры, их количество, типы, а также формулу вам необходимо определить исходя из скриншотов ниже.

Обратите внимание: на тех же данных ваш сервис должен считать так же*.

Примечание*: это очень важный момент - если Заказчик вам даёт примеры, то обязательно следите за тем, что эти примеры в вашем приложении (а позже и в тестах/авто-тестах) проверяются и работают правильно! Если вы этого не сделаете, получите от Заказчика негатив в стиле "я же вам специально примеры предоставил, вы почему не могли на них проверить?!" и общую характеристику непрофессионала.

Чтобы это продемонстрировать, в Main создайте объект и 3 раз вызовите его метод calculate. Результаты каждого вызова выводите в консоль.

Скриншоты для решения задачи (важно - это не реальный сервис!):

Подсказка

Подсказки смотреть не хорошо 😈!

Но раз уж вы посмотрели, то вот она подсказка: есть аннуитетные и дифференцированные платежи. Наверное, стоит посмотреть, по каким формулам они считаются.