From de15d389f22b7947d2f5938899a34b1abb652a36 Mon Sep 17 00:00:00 2001 From: Nikolai Date: Sat, 27 Jul 2024 20:22:18 +0300 Subject: [PATCH] Added InvalidDataException --- src/main/java/core/basesyntax/InvalidDataException.java | 7 +++++++ src/main/java/core/basesyntax/SalaryInfo.java | 6 ++++-- 2 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 src/main/java/core/basesyntax/InvalidDataException.java diff --git a/src/main/java/core/basesyntax/InvalidDataException.java b/src/main/java/core/basesyntax/InvalidDataException.java new file mode 100644 index 000000000..de02bcb71 --- /dev/null +++ b/src/main/java/core/basesyntax/InvalidDataException.java @@ -0,0 +1,7 @@ +package core.basesyntax; + +public class InvalidDataException extends RuntimeException { + InvalidDataException(String message) { + super(message); + } +} diff --git a/src/main/java/core/basesyntax/SalaryInfo.java b/src/main/java/core/basesyntax/SalaryInfo.java index a632ff22a..cc2156a38 100644 --- a/src/main/java/core/basesyntax/SalaryInfo.java +++ b/src/main/java/core/basesyntax/SalaryInfo.java @@ -25,9 +25,11 @@ public String getSalaryInfo(String[] names, String[] data, String dateFrom, Stri if ((parsedDate.isAfter(parsedDateFrom) || parsedDate.isEqual(parsedDateFrom)) && (parsedDate.isBefore(parsedDateTo) || parsedDate.isEqual(parsedDateTo))) { String[] nameAndSalaryArray = datum.substring(++whiteSpaceIndex).split(" "); + totalSalaryArray[getTotalSalaryArrayIndex(nameAndSalaryArray[NAME_INDEX], names)] += getSalary(nameAndSalaryArray[HOURS_WORKED_INDEX], nameAndSalaryArray[INCOME_PER_HOUR_INDEX]); + } } @@ -39,13 +41,13 @@ public String getSalaryInfo(String[] names, String[] data, String dateFrom, Stri return totalSalarySummary.toString(); } - private int getTotalSalaryArrayIndex(String name, String[] names) { + private int getTotalSalaryArrayIndex(String name, String[] names) throws RuntimeException { for (int i = 0; i < names.length; i++) { if (names[i].equals(name)) { return i; } } - return 0; + throw new InvalidDataException("Сould not find " + name + " in the array of names"); } private int getSalary(String hours, String incomePerHour) {