Nästa steg var att skapa klassen Moped. Där behövde det finnas en konstruktor som tog emot två argument;
värden för vikten och antal liter i bensin som skulle rymmas i tanken.
Moped-klassen implementerade metoden visaVikt från superklassen Fordon genom formeln vikt + liter bensin * 0.8.
Efter det skapde jag klassen Cykel som hade två konstruktorer. Cykel-klassen implementerar även den metoden visaVikt som i Moped-klassen.
Den första konstruktorn tog bara emot värdet för vikten.
Andra konstruktorn tog emot ett boolean-värde för att se om cykeln var en tandem eller ej.
I klassen Testa fick main-metoden vara, där kördes programmet ifrån.
Där lades 3 mopeder och 4 cyklar in i en LinkedBlockingQueue, den importerades från java.util-paketet.
DecimalFormat var även nödvändigt att importera för att formatera meddelandet som ska skickas till användaren.
Cyklarna och mopederna lades i kön i en try/catch-statement som fångar upp InterruptedException.
While-loopen som ligger i Testa-klassen tar ut fordonen ur kön och kollar deras vikt samt adderar vikten till variablen totalVikt.
Det sista som behövdes göra var att skapa en if-sats för att se om totalvikten är överskrider 400 kg eller ej.
Om vikten är över 400 kg får användaren ett meddelande där det står att båten väger för mycket, om inte att vikten är godkänd.
Nästa steg var att skapa en hashmap och en lista för att kunna sortera djuren, då importerade jag java.util paketet för att det skulle vara möjligt.
Djurens namn gjorde jag som nycklar i hashmapen för då blev det mycket lättare att söka på djuren.
Efter att användaren skrivit in ett djur läggs det som en nyckel i hashmapen.
När djuret väl är skapat läggs det även in i arraylisten genom att skapa en iterator kopplad till hashmapen.
För att se om ett djur var avmaskat behövdes det ett boolean värde som ändrades till true om djuret var avmaskat.
Uppgift B gick även ut på att kunna skriva ut listan på djuren på tre olika sätt: sortera efter art, namn och en för ålder.
För att göra det möjligt används gränssnittet Comparator.
Det gränssnittet hjälper till i sorteringen, exempelvis att sortera i bokstavsordningen.
Det sista som gjordes för att slutställa programmet skapades actionevent-metoden som gjorde knapparna klickbara det vill säga att någonting utförs vid klicket.
För att undvika att programmet skulle krasha byggde jag in try/catch och if-satser.