Uppgifter kurstillfälle två
Någon av uppgifterna 6-9 ska redovisas.
Uppgift 1
Skapa två dynamisk arrayer (vector) innehållandes ints. Ge den
första innehållet 17, 42, 3, 5 den andra 13, 42, 76. Lägg in den andra
arrayen mellan element 1 och 2 i den första. Skriv ut resultatet, för
att vara säker på att det är korrekt.
Uppgift 2
Skapa en hashtabell med strängar som index och int som
värde. Lägg in paren "hej" : 17, "hopp" : 21, "idi" : 42. Försäkra dig
att indexeringen fungerar med utskrifter.
Uppgift 3
Gör en egen klass som kan innehålla en int och en sträng. Använde
dem som element i en hashtabell. Kontrollera hur beteendet förändras
beroende på om du överlagrar metodr som equals,
hashCode och toString.
Uppgift 4
Skapa ett interface som innehåller en metod som skriver ut värdet
av klassen till stderr. Skapa några klasser som uppfyller
interfacet, t ex en klass med en int i, en med en sträng i
etc. Kontrollera hur man kan hantera interfacet, skiljer det sig från
hantering av klasser? Kan man använda interface i dynamiska arrayer
(vector)?
Uppgift 5
Skapa en egen klass, innehållandes variabler som beskriver en cirkel
(x, y, r, färg?), samt en metod som skriver ut den.
Skapa en applet som som parametrar dels tar beskrivningar på cirklar,
dels en parameter som talar om i vilken ordning cirklarna ska skrivas
ut. T ex:
<applet code=uppgift3.class width=100 height=100>
<parameter name=cirkel1 value="(10,10),5,#000000")>
<parameter name=cirkel2 value="(10,150),17,#003300")>
<parameter name=skriv-ut value="cirkel1,cirkel2">
</applet>
Parametrarna behöver inte se ut precis så där, men principen med flera
parametrar för definition och en för vad som ska skrivas ut ska följas.
Uppgift 6
Utöka uppgift 3 till att ta flera geometriska objekt. Gör en klass per
geometriska objekt, och ett interface som är gemensamt och innehåller
den/de metoder du tycker behövs för att hantera dem.
Uppgift 7
Utöka uppgift så att man även kan ange en URL (relativ går bra) till
en bild som ska skrivas ut, och som ska hanteras som de andra
objekten.
Uppgift 8
Börjar parametrarna bli lite väl krångliga? Gör i så fall ett eget
filformat, med trevligare syntax. Låt sedan appleten få som parameter
en URL (relativ duger gott) till en fil i detta filformat. T ex:
Geometriska filen:
<circle x=10 y=20 color=#000000 r=20>
<box x0=10 y0=20 x1=100 y1=50 color=#770010>
Appleten:
<applet code=uppgift8.class>
<parameter name=src value=fil.geo>
</applet>
Uppgift 9
Lägg till animationer.