-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Добавлена реализация решения задачи по анализу рабочего времени сотрудников #10
base: master
Are you sure you want to change the base?
Conversation
@@ -0,0 +1,38 @@ | |||
target/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Молодец, что добавил .gitignore.
сам писал или автоснегерированный?
Path reportPath = reportFile.toPath(); | ||
|
||
//чтение каждой строки из файла в список | ||
List<String> textLines = Files.readAllLines(reportPath); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
тут не принципиально скорее всего, но что если у тебя размер файла превышает размер памяти? Я бы делал через FileReader (погугли примеры)
Map<String, Employee> employeeMap = new HashMap<>(); | ||
|
||
//сохранение недельной нормы(первая строка файла) | ||
weeklyNorm = Double.parseDouble(textLines.get(0)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ты подразумеваешь тут, что у тебя чистые данные. parseDouble throws exception надо обрабатывать
} | ||
|
||
//вспомогательный класс | ||
static class Employee{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Почему статик, почему не выделил в отдельный .java file?
//собирается полное имя в соответсвии с выходными данными | ||
//работник помещается в мапу с (K, V) -> (UID, Employee), Employee - статический вложенный класс | ||
for(int i = 1; i < textLines.size(); i++) { | ||
String[] parts = textLines.get(i).split(" "); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
мож ты не доделал еще, но как-будто у тебя схема данных в файле не совсем совпадает с тем, что ты тут процессишь? ID я например в файле вообще не вижу. Использовать пробел в качестве разделителя это опасно (если только это прям не требование), потому что например добавится город в файл, или например фамилия сложная (какой нить Хаджи Магомедов) - твой парсинг посыпется сразу. Используй запятую лучше, csv (comma delimited values) очень распространенный формат данных как раз для таких задач
Добавлено решение задачи, включающее следующие изменения:
Реализована программа на Java для анализа данных о списании рабочего времени сотрудников из файла report.txt.
Добавлен файл конфигурации config.properties для указания путей к входным и выходным файлам.
Обновлен README.md с инструкцией по сборке и запуску решения.
Программа выполняет анализ данных и записывает результаты в result.txt согласно заданным условиям.