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
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)