Uppgift A

gick ut på att skapa en klasshierarki bestående av superklassen Fordon och de ärvande subklasserna Moped och Cykel, i klassen Testa körs programmet.
Programmet gick ut på addera deras vikter för att sedan testa om vikten var för mycket eller inte för att få plats på en båt.
Det första jag gjorde var att göra superklassen Fordon till abstrakt innehållandes metoden VisaVikt.

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.

Uppgift B

gick ut på att göra en djurpark. Det första jag gjorde var att skapa klassen Djur innehållandes;
art, namn, ålder och om djuret var avmaskat eller inte. Djurklassen byggdes så att det gick att ändra variablerna och även returmetoder för variablerna.

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.

Uppgift C

gick ut på att göra en Visakortsvalidering via Javascript.
Jag gjorde först en funktion/metod och deklarerade de variabler
som var nödvändiga.
Om det är så att villkoren inte uppfylls byggde jag in en foor-loop som loopar
igen numret enligt LUHN-formeln.
If-else satsen kollar äktheten på numret och slutligen byggde jag in en
händelselyssnare till den klickbara knappen.