06.08.2013 Views

Lösningsförslag till tentamen i EDAA10, Programmering i Java

Lösningsförslag till tentamen i EDAA10, Programmering i Java

Lösningsförslag till tentamen i EDAA10, Programmering i Java

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

2. public class AlternativeTimes {<br />

private ArrayList times;<br />

}<br />

/** Skapar en tom lista för mötestider. */<br />

public AlternativeTimes() {<br />

times = new ArrayList();<br />

}<br />

/** Lägger <strong>till</strong> mötestiden med datumet date (anges med sex siffror, <strong>till</strong><br />

exempel "110818"), starttiden hour och längden length timmar.<br />

Mötestiden får bara läggas <strong>till</strong> om den inte kolliderar med en annan tid.<br />

Returnerar true om mötestiden lagts <strong>till</strong>, annars false. */<br />

public boolean add(String date, int hour, int length) {<br />

TimePeriod t = new TimePeriod(date, hour, length);<br />

for (int i = 0; i < times.size(); i++) {<br />

if (t.collidesWith(times.get(i))) {<br />

return false;<br />

}<br />

}<br />

for (int i = 0; i < times.size(); i++) {<br />

if (times.get(i).compareTo(t) > 0) {<br />

times.add(i, t);<br />

return true;<br />

}<br />

}<br />

times.add(t);<br />

return true;<br />

}<br />

/** Returnerar en vektor som innehåller mötestiderna.<br />

Mötestiderna ska vara sorterade efter starttid. */<br />

public TimePeriod[] toSortedArray() {<br />

TimePeriod[] temp = new TimePeriod[times.size()];<br />

for (int i = 0; i < times.size(); i++) {<br />

temp[i] = times.get(i);<br />

}<br />

return temp;<br />

}<br />

2(4)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!