Задачи
Java Человек Учитель 7
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;
}
}