diff options
| author | mo khan <mo@mokhan.ca> | 2019-08-05 18:19:49 -0600 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2019-08-05 18:19:49 -0600 |
| commit | 155585dd1c618d1758af87cb27902429bef91f53 (patch) | |
| tree | a72ff1d908640261c70c291747cf41a0358f798c /src | |
| parent | ce8f2aee87cb5ae56e3c53290274df431c49f108 (diff) | |
delay all remaining stations and check for nulls
Diffstat (limited to 'src')
| -rw-r--r-- | src/Q10/Station.java | 5 | ||||
| -rw-r--r-- | src/Q10/TrainTimeTable.java | 7 |
2 files changed, 10 insertions, 2 deletions
diff --git a/src/Q10/Station.java b/src/Q10/Station.java index a2b2ae2..0aa35b8 100644 --- a/src/Q10/Station.java +++ b/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)); } } diff --git a/src/Q10/TrainTimeTable.java b/src/Q10/TrainTimeTable.java index 5883983..36e4294 100644 --- a/src/Q10/TrainTimeTable.java +++ b/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() { |
