Commit 155585d

mo khan <mo@mokhan.ca>
2019-08-06 00:19:49
delay all remaining stations and check for nulls
1 parent ce8f2ae
Changed files (2)
src/Q10/Station.java
@@ -61,7 +61,8 @@ public class Station {
     this.setDepartureDate(advanceDate(this.getDepartureDate(), minutes));
 
     Calendar calendar = Calendar.getInstance();
-    calendar.setTime(this.getDepartureDate());
+    calendar.setTime(
+        this.getDepartureDate() != null ? this.getDepartureDate() : this.getArrivalDate());
     calendar.setTimeZone(TimeZone.getTimeZone("UTC"));
     this.setDay(calendar.get(Calendar.DAY_OF_MONTH));
   }
@@ -75,6 +76,8 @@ public class Station {
   }
 
   private Date advanceDate(Date original, int minutes) {
+    if (original == null) return null;
+
     return new Date(original.getTime() + (minutes * 60000));
   }
 }
src/Q10/TrainTimeTable.java
@@ -21,7 +21,12 @@ public class TrainTimeTable {
     System.out.println();
 
     Station station = stationIn(city);
-    if (station != null) station.delayBy(minutes);
+    if (station != null) {
+      station.delayBy(minutes);
+      for (int i = schedule.indexOf(station) + 1; i < schedule.size(); i++) {
+        schedule.get(i).delayBy(minutes);
+      }
+    }
   }
 
   public void displaySchedule() {