summaryrefslogtreecommitdiff
path: root/src/main/java/ca/mokhan/assignment1/BanffMarathonRunner.java
diff options
context:
space:
mode:
authormokha <mokha@cisco.com>2019-05-05 19:25:48 -0600
committermokha <mokha@cisco.com>2019-05-05 19:25:48 -0600
commit46e409f3ca33ec3c7546d0589301c2a4f967c10a (patch)
tree55ed5a3297517719af1856f8fd0fa848dd4b94b5 /src/main/java/ca/mokhan/assignment1/BanffMarathonRunner.java
parentc66b9591c81f93e3966050cc7c88981018e9b542 (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.java51
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);
+ }
+}