Nie mam już czasu siedzieć przed komputerem. Więc podrzucę ci generyczne rozwiązanie.
Generyczna funkcja max ma postać:
static <T> T findMax(T[] tablica) {
T max = tablica[0]; // pierwszy element tablicy
for (int i=1; i<tablica.length; i++) {
if (tablica[i] > max)
max = tablica[i];
}
return max;
}
Ta funkcja zadziała dla wszystkich podstawowych typów danych i wielu klas, ale nie dla klasy Person.
Dlaczego?
Dlatego, że program nie potrafi porównywać obiektów tej klasy. Można to łatwo naprawić dodając do klasy własną implementację funkcji compare (https://www.baeldung.com/java-comparator-comparable mam nadzieję, że ten artykuł dobrze pokrywa temat, nie miałem czasu go przeczytać).
Jeżeli nie chcesz tworzyć funkcji compare dla swojej klasy musisz przerobić warunek logiczny tak, aby porównywać wiek osób.
if (osoba1.getWiek() > osoba2.getWiek())