summaryrefslogtreecommitdiff
path: root/src/section-4/BanffMarathonRunner.java
diff options
context:
space:
mode:
authormokha <mokha@cisco.com>2019-05-05 19:48:09 -0600
committermokha <mokha@cisco.com>2019-05-05 19:48:09 -0600
commit99a28d2dba93642e89a62ecf905a3bd4f138318d (patch)
treeee10a7df683642a42991896bbec5ced501a2abd1 /src/section-4/BanffMarathonRunner.java
parent3c2be35d16d7482442911f5b06b68512f86e15b5 (diff)
split code into directories closer to what the instructor wants
Diffstat (limited to 'src/section-4/BanffMarathonRunner.java')
-rw-r--r--src/section-4/BanffMarathonRunner.java51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/section-4/BanffMarathonRunner.java b/src/section-4/BanffMarathonRunner.java
new file mode 100644
index 0000000..afc0472
--- /dev/null
+++ b/src/section-4/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);
+ }
+}