Skip to content

Commit

Permalink
Added InvalidDataException
Browse files Browse the repository at this point in the history
  • Loading branch information
Lessorg committed Jul 27, 2024
1 parent e7a76f6 commit de15d38
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 2 deletions.
7 changes: 7 additions & 0 deletions src/main/java/core/basesyntax/InvalidDataException.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package core.basesyntax;

public class InvalidDataException extends RuntimeException {
InvalidDataException(String message) {
super(message);
}
}
6 changes: 4 additions & 2 deletions src/main/java/core/basesyntax/SalaryInfo.java
Original file line number Diff line number Diff line change
Expand Up @@ -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]);

}
}

Expand All @@ -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) {
Expand Down

0 comments on commit de15d38

Please sign in to comment.