diff options
| author | mokha <mokha@cisco.com> | 2019-05-05 19:25:48 -0600 |
|---|---|---|
| committer | mokha <mokha@cisco.com> | 2019-05-05 19:25:48 -0600 |
| commit | 46e409f3ca33ec3c7546d0589301c2a4f967c10a (patch) | |
| tree | 55ed5a3297517719af1856f8fd0fa848dd4b94b5 /src/main/java/ca/mokhan/assignment1/BanffMarathonRunner.java | |
| parent | c66b9591c81f93e3966050cc7c88981018e9b542 (diff) | |
collapse assignment1 dir
Diffstat (limited to 'src/main/java/ca/mokhan/assignment1/BanffMarathonRunner.java')
| -rw-r--r-- | src/main/java/ca/mokhan/assignment1/BanffMarathonRunner.java | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/src/main/java/ca/mokhan/assignment1/BanffMarathonRunner.java b/src/main/java/ca/mokhan/assignment1/BanffMarathonRunner.java new file mode 100644 index 0000000..afc0472 --- /dev/null +++ b/src/main/java/ca/mokhan/assignment1/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<String> winners = new ArrayList<String>(); + + for (BanffMarathonRunner runner : runners) + if (runner.time >= average) winners.add(runner.toString()); + + return String.join(System.lineSeparator(), winners); + } +} |
