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

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

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

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 Teacher getTeacherWithMaxSalary() {
    Teacher maxSalaryTeacher = null;
    int maxSalary = Integer.MIN_VALUE;
    for (Person p : a) {
        if (p instanceof Teacher) {
            Teacher teacher = (Teacher) p;
            if (teacher.Salary > maxSalary) {
                maxSalary = teacher.Salary;
                maxSalaryTeacher = teacher;
            }
        }
    }
    return maxSalaryTeacher;
}

public Teacher getTeacherWithMaxSalary(String Subject) {
    Teacher maxSalaryTeacher = null;
    int maxSalary = Integer.MIN_VALUE;
    for (Person p : a) {
        if (p instanceof Teacher) {
            Teacher teacher = (Teacher) p;
            if (teacher.Subject.equals(Subject) && teacher.Salary > maxSalary) {
                maxSalary = teacher.Salary;
                maxSalaryTeacher = teacher;
            }
        }
    }
    return maxSalaryTeacher;
}

public Teacher getTeacherWithMinSalary() {
    Teacher minSalaryTeacher = null;
    int minSalary = Integer.MAX_VALUE;
    for (Person p : a) {
        if (p instanceof Teacher) {
            Teacher teacher = (Teacher) p;
            if (teacher.Salary < minSalary) {
                minSalary = teacher.Salary;
                minSalaryTeacher = teacher;
            }
        }
    }
    return minSalaryTeacher;
}

public Teacher getTeacherWithMinSalary(String Subject) {
    Teacher minSalaryTeacher = null;
    int minSalary = Integer.MAX_VALUE;
    for (Person p : a) {
        if (p instanceof Teacher) {
            Teacher teacher = (Teacher) p;
            if (teacher.Subject.equals(Subject) && teacher.Salary < minSalary) {
                minSalary = teacher.Salary;
                minSalaryTeacher = teacher;
            }
        }
    }
    return minSalaryTeacher;
}

}