Я пытаюсь суммировать зарплаты для каждого типа работы из файла .csv, и сейчас мой вывод показывает только, сколько зарабатывает каждый человек. Мне нужно подвести итоги этой работы, и я понятия не имею, как написать метод, который будет суммировать зарплаты для каждой работы. У вас есть идеи, как я могу изменить свой код, чтобы получить сумму заработков?
package src;
import java.io.*;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.stream.Stream;
public class Main {
public static void main(String[] args) {
Path path = Path.of("sample.csv");
try (Stream<String> lines = Files.lines(path);) {
lines.filter(line -> line.startsWith(" "))
.map(line -> LineToPerson(line))
.forEach(System.out::println);
}
catch (IOException e) {
e.printStackTrace();
}
}
private static Person LineToPerson(String line) {
String[] elements = line.split(";");
String id = elements[0];
String name = elements[1];
String surname = elements[2];
String job = elements[3];
Double salary = Double.valueOf(elements[4].replaceAll("\"", "").replaceAll(" ", "").replaceAll(",", "."));
Person p = new Person(id, name, surname, job, salary);
return p;
}
}
-------------------- класс Person-- --------------------------------
package src;
public class Person {
private String id;
private String name;
private String surname;
private String job;
private double salary;
public Person() {
}
public Person(String id, String name, String surname, String job, double salary) {
this.id = id.replaceAll("\"", "").replaceAll(" ", "");
this.name = name.replaceAll("\"", "").replaceAll(" ", "");
this.surname = surname.replaceAll("\"", "").replaceAll(" ", "");
this.job = job.replaceAll("\"", "").replaceAll(" ", "");
this.salary = salary;
}
public String getId() {
return id;
}
public String getName() {
return name;
}
public String getSurname() {
return surname;
}
public String getJob() {
return job;
}
public double getSalary() {
return salary;
}
public String toString() {
if (job.equals("Teacher")) {
return "Teacher salary = " + salary;
} else if (job.equals("Janitor")) {
return "Janitor salary = " + salary;
} else return "";
}
}