- Консольный интерфейс для управления программой.
- Считывание месячных и годового отчётов бухгалтерии из файлов и их перевод в объекты приложения.
- Сверка данных по месячным и годовому отчётам.
- Вывод информации о месячных и годовом отчётах.
Java 11
- Клонируйте репозиторий:
git clone https://github.com/Buhanzaz/java-sprint2-hw-accounting-application.git - Перейдите в каталог с проектом:
cd java-sprint2-hw-accounting-application - Откройте через командную строку .jar файл:
java -jar java-sprint2-hw.jar
Приложение должно работать с двумя видами файлов-отчётов — месячными и годовым. Нужно будет разбить входящий файл на составляющие и преобразовать к объектам приложения. Разберём подробнее, как они будут представлены.
Месячный отчёт содержит данные о доходах и расходах в рамках одного календарного месяца.
- Имена месячных отчётов.
Файлы с отчётами именуются определённым образом, чтобы упростить их считывание и обработку. Имена файлов с месячными отчётами имеют форматm.YYYYMM.csv, где:
m— буква m в начале файла, чтобы отделить отчёты за месяц и отчёты за год;YYYY— год. Например, 2021;MM— месяц строго двумя цифрами. Счёт начинается с единицы, то есть 01 — «январь», а 11 — «ноябрь».
Примеры: m.202001.csv — месячный отчёт за январь 2020 года, m.201912.csv — месячный отчёт за декабрь 2019 года.
- Пример CSV-файла с месячным отчётом.
item_name,is_expense,quantity,unit_price
Воздушные шарики,TRUE,5000,5
Автоматы с мороженым,TRUE,12,15000
Продажа мороженого,FALSE,1000,120- У каждой строки месячного отчёта — четыре поля:
1.item_name— название товара;
2.is_expense— одно из двух значений: TRUE или FALSE. Обозначает, является ли запись тратой (TRUE) или доходом (FALSE);
3.quantity— количество закупленного или проданного товара;
4.unit_price— стоимость одной единицы товара. Целое число.- Класс месячного отчёта —
MonthlyReport.
Годовой отчёт содержит информацию обо всех тратах в течение года. На каждый месяц по две записи — общий доход и расход за этот месяц.
- Имя годового отчёта.
Имя файла с годовым отчётом имеет форматy.YYYY.csv, где:
y— букваyв начале файла, чтобы отделить отчёты за месяц и отчёты за год;YYYY— год, например 2021.
Примеры:y.2020.csv— годовой отчёт за 2020 год,y.2018.csv— годовой отчёт за 2018 год.
- Пример CSV файла с годовым отчётом.
month,amount,is_expense
01,100000,false
01,30000,true
02,321690,false
02,130000,true
03,999999,true
03,999999,false\- Строка годового отчёта состоит из трёх полей:
month— месяц, целое число, обозначается строго двумя цифрами, начиная с единицы, то есть 01 — «январь», а 11 — «ноябрь»;amount— сумма;is_expense— одно из двух значений: true или false. Обозначает, является ли запись тратой (true) или доходом (false).
- В приложении представлен классом
YearlyReport.