From 7b4cb6a2eef3a0fcde7e998832427c73599e4a0a Mon Sep 17 00:00:00 2001 From: mokha Date: Sun, 5 May 2019 19:57:14 -0600 Subject: use the exact naming convention for directories described by instructor --- src/Q4/BanffMarathonRunner.java | 51 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 src/Q4/BanffMarathonRunner.java (limited to 'src/Q4/BanffMarathonRunner.java') diff --git a/src/Q4/BanffMarathonRunner.java b/src/Q4/BanffMarathonRunner.java new file mode 100644 index 0000000..afc0472 --- /dev/null +++ b/src/Q4/BanffMarathonRunner.java @@ -0,0 +1,51 @@ +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); + } +} -- cgit v1.2.3