/
Vini1979
/
Java_OOP
Обзор
Документация
Войти
/
Vini1979
/
Java_OOP
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
Seminar_04/Team.java
69 строк
2 KB
Evgeny
Added HW 5/6
10 апр 2023, 00:38
10 апр 2023, 00:38
241b24d
Код
Авторство
О чём код?
import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class Team<T extends Personage> implements Iterable<T> { List<T> personages = new ArrayList<>(); @Override public Iterator<T> iterator() { return personages.iterator(); } public Team<T> addPers(T personage) { this.personages.add(personage); return this; } @Override public String toString() { StringBuilder res = new StringBuilder(); for (T personage : this) { res.append(personage) .append("\n"); } res.append(String.format("Максимальная дальность: %d\n", maxRange())); res.append(String.format("Самый легкий щит в команде: %d", minWeight())); return res.toString(); } public int maxRange() { int max = 0; for (T pers : this) { if (pers instanceof Archer) { Archer archer = (Archer) pers; if (archer.range() > max) { max = archer.range(); } } } return max; } public int minWeight() { int min = 100; for (T pers : this) { if (pers instanceof Thief) { Thief thief = (Thief) pers; if (thief.shield.weight < min) { if (thief.shield.weight == 0) { continue; } min = thief.shield.weight; } } if (pers instanceof Archer) { Archer archer = (Archer) pers; if (archer.shield.weight < min) { if (archer.shield.weight == 0) { continue; } min = archer.shield.weight; } } } return min; } }