eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Java Человек Учитель 6

опубликовано 02.05.2022, 14:08:17

В умові сказано порахувати: "общий бюджет учителей ведущих физику" та "среднюю зарплату учителей ведущих математику", а в тестах перевіряється: "общий бюджет учителей ведущих математику" і "среднюю зарплату учителей ведущих физику"

опубликовано 04.04.2024, 08:33:33

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;
}

}