package ca.mokhan.assignment1; import java.util.ArrayList; import java.util.Arrays; public class BanffMarathonRunner extends AddressBook { private int time; private int years; public BanffMarathonRunner(String firstName, String lastName, int time, int years) { super(firstName, "", lastName); this.time = time; this.years = years; } public int compareTo(AddressBook other) { BanffMarathonRunner runner = (BanffMarathonRunner) other; return Integer.compare(this.time, runner.time); } @Override public String toString() { return super.getFirstName() + " " + this.years; } public static BanffMarathonRunner getFastestRunner(BanffMarathonRunner[] runners) { Arrays.sort(runners); return runners[0]; } public static BanffMarathonRunner getSecondFastestRunner(BanffMarathonRunner[] runners) { Arrays.sort(runners); return runners[1]; } public static int getAverageTime(BanffMarathonRunner[] runners) { int sum = 0; for (BanffMarathonRunner runner : runners) sum += runner.time; return sum / runners.length; } public static String getAboveAverageRunners(BanffMarathonRunner[] runners) { int average = getAverageTime(runners); ArrayList winners = new ArrayList(); for (BanffMarathonRunner runner : runners) if (runner.time >= average) winners.add(runner.toString()); return String.join(System.lineSeparator(), winners); } }