Задачи
Java Человек Учитель 6
В умові сказано порахувати: "общий бюджет учителей ведущих физику" та "среднюю зарплату учителей ведущих математику", а в тестах перевіряється: "общий бюджет учителей ведущих математику" і "среднюю зарплату учителей ведущих физику"
import java.util.ArrayList;
class Person { protected String Surname, Name; protected int Age;
Person(String Surname, String Name, int Age) {
this.Surname = Surname;
this.Name = Name;
this.Age = Age;
}
public String toString() {
return Surname + " " + Name + " " + Age;
}
}
class Teacher extends Person { protected String Subject; protected int Salary;
Teacher(String Surname, String Name, int Age, String Subject, int Salary) {
super(Surname, Name, Age);
this.Subject = Subject;
this.Salary = Salary;
}
Teacher(Teacher a) {
super(a.Surname, a.Name, a.Age);
this.Subject = a.Subject;
this.Salary = a.Salary;
}
public String toString() {
return super.toString() + " " + Subject + " " + Salary;
}
}
class ListOfPeople { ArrayList<Person> a = new ArrayList<Person>();
public void add(Person p) {
a.add(p);
}
public int size() {
return a.size();
}
public String toString() {
StringBuilder result = new StringBuilder();
for (Person p : a) {
result.append(p.toString()).append("\n");
}
return result.toString();
}
public int getTeachersBudget() {
int totalBudget = 0;
for (Person p : a) {
if (p instanceof Teacher) {
totalBudget += ((Teacher) p).Salary;
}
}
return totalBudget;
}
public int getTeachersBudget(String Subject) {
int totalBudget = 0;
for (Person p : a) {
if (p instanceof Teacher && ((Teacher) p).Subject.equals(Subject)) {
totalBudget += ((Teacher) p).Salary;
}
}
return totalBudget;
}
public double getTeachersAverageSalary() {
int totalSalary = 0;
int numTeachers = 0;
for (Person p : a) {
if (p instanceof Teacher) {
totalSalary += ((Teacher) p).Salary;
numTeachers++;
}
}
return numTeachers == 0 ? 0 : (double) totalSalary / numTeachers;
}
public double getTeachersAverageSalary(String Subject) {
int totalSalary = 0;
int numTeachers = 0;
for (Person p : a) {
if (p instanceof Teacher && ((Teacher) p).Subject.equals(Subject)) {
totalSalary += ((Teacher) p).Salary;
numTeachers++;
}
}
return numTeachers == 0 ? 0 : (double) totalSalary / numTeachers;
}
}