Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
prog2_03 [2019-09-13 14:02]
Daniel Viström
prog2_03 [2022-07-18 13:20] (current)
Line 21: Line 21:
 Ta filerna Index.java, Cup.java, Die.java från din workspace på datorn. Packa ihop dessa till en zip-fil och skicka in. \\ Ta filerna Index.java, Cup.java, Die.java från din workspace på datorn. Packa ihop dessa till en zip-fil och skicka in. \\
  
-2.+2*. 
 +**Fish**\\ 
 +Skriv en klass //Fish// som beskriver en fisk.\\ 
 +Klassen ska ha: 
 +  * attributen //sort//, //length// (i cm) och //weight// (i g). 
 +  * en //konstruktor// som har tre parametrar som tar in startvärden till de tre attributen. 
 +  * 3 //get-metoder// som returnerar "värden" för varsitt attribut. Inga set-metoder ska finnas. 
 +  * en metod som returnerar //priset// på fisken (i hela kronor) utifrån dess vikt (120 kr/kg oavsett fisksort). 
 +  * en metod som returnerar //fraktkostnaden// för fisken. Längden (i cm) multipliceras med faktorn 0,15 och vikten (i g) med faktorn 0,013. Därefter adderas värdena. Fraktkostnaden blir dock minst 12 kr. 
 +  
 +Gör en klass //FishTest// som testar klassen Fish.\\ 
 +Klassen ska ha en //mainmetod// som gör följande: 
 +  * Skapar en lista av typen //ArrayList<Fish>//
 +  * Läser in fiskar från en //textfil// där varje rad innehåller data för en fisk. För varje rad som läses ska ett nytt fiskobjekt skapas och läggas in i listan med fiskar. 
 +  Ex:  
 +  Torsk 37 865 
 +  Gös 26 434 
 +  osv. 
 + 
 +  * Går igenom listan och skriver ut en //tabell// med information om fiskarna. 
 +  Ex:  
 +  Sort    Längd (cm) Vikt (g) Pris (kr) Frakt (kr) 
 +  ---------------------------------------------- 
 +  Torsk     37         865      104        17 
 +  Gös       26         434       52        12 
 + 
 + 
 +3.
 **Arv** \\ **Arv** \\
 Klocka med alarm\\ Klocka med alarm\\
 {{::uppgift1.pdf|Uppgift1}} \\ {{::uppgift1.pdf|Uppgift1}} \\
 +<php>
 +/*
 {{::testprogram.zip|Testprogram}} {{::testprogram.zip|Testprogram}}
  
-3.+*/ 
 +</php> 
 + 
 +4.
 **Interface** \\ **Interface** \\
 Skapa ett nytt interface i eclipse och kopiera in nedanstående kod. \\ Skapa ett nytt interface i eclipse och kopiera in nedanstående kod. \\
 Skapa en klass **MyQueue** som implementerar interfacet **IntQueue** där kön byggs upp av en array med heltal (int[ ]).\\ Skapa en klass **MyQueue** som implementerar interfacet **IntQueue** där kön byggs upp av en array med heltal (int[ ]).\\
 Arrayens storlek ska hela tiden vara lika som det antal element den innehåller. \\ Arrayens storlek ska hela tiden vara lika som det antal element den innehåller. \\
-Testa din klass med ett testprogram.+Testa din klass med ett testprogram. \\ 
 +I testklassen ska referenser till de köer som skapas vara av interfacets typ.
  
 <code java> <code java>
Line 53: Line 86:
 </code> </code>
  
-4.+5.
 **Interface** \\ **Interface** \\
 Skapa ett nytt interface **IntStack** i eclipse. Fundera över vilka abstrakta metoder som ska vara med i interfacet.\\ Skapa ett nytt interface **IntStack** i eclipse. Fundera över vilka abstrakta metoder som ska vara med i interfacet.\\
 Skapa en klass **MyStack** som implementerar interfacet **IntStack** där stacken byggs upp av en array med heltal (int[ ]).\\ Skapa en klass **MyStack** som implementerar interfacet **IntStack** där stacken byggs upp av en array med heltal (int[ ]).\\
 Arrayens storlek ska hela tiden vara lika som det antal element den innehåller. \\ Arrayens storlek ska hela tiden vara lika som det antal element den innehåller. \\
-Testa din klass med ett testprogram.+Testa din klass med ett testprogram. \\ 
 +I testklassen ska referenser till de stackar som skapas vara av interfacets typ.
  
-*5.+*6.
 **Arv, abstrakta klasser** \\ **Arv, abstrakta klasser** \\
 Robotar i labyrinter. \\ Robotar i labyrinter. \\
 {{: :uppgift2.pdf|Uppgift2}} {{: :uppgift2.pdf|Uppgift2}}