Ändringar mellan två versioner
Här visas ändringar i "Övningar" mellan 2016-09-07 16:44 av Anders Lindström och 2016-09-07 16:53 av Anders Lindström.
Visa < föregående | nästa > ändring.
Övningar
Övningarna är inte obligatoriska men jag rekommenderar starkt att du följer dessa och att du även löser många uppgifter på egen hand. Du kan inte lära dig programmera enbart genom att läsa kursboken.På denna sida kan du se vad jag tar upp och vad som är lämpligt att arbeta med under övningarna och på egen hand hemma.
Övning 1, 1/9 Det är viktigt att du har installerat programvaran inför denna övning, speciellt att du har satt sökvägen till din kompilator, javac. Instruktioner finns på sidan "Resurser".
En introduktion till kompilering och exekvering av java-applikationer via ett terminal-fönster.Kompilera och exekvera Javakod.pdf Att utgå ifrån i första exemplet (öppna i t.ex. WordPad): WelcomeToJava.java
Lösningar kompilera och exekvera.zip
Öppna ett terminalfönster i Windows Startmenyn -> skriv längst ned "Command Prompt" eller "PowerShell".
Byta directory: cd "namn/sökväg"; byta enhet C: (eller D:, ...); lista innehåll i directory: dir; Skapa directory: md "namn"
Kontrollera att att sökvägen till java-kompilatorn är korrekt genom att skriva "javac" vid prompten. Om programmet inte hittas, se sidan "Resurser" på kurswebben.
Övning 2, 2/9 Jag introducerar utvecklingsmiljön NetBeans. Det är viktigt att du har installerat NetBeans inför denna övning (se Resurser/Programvara).En kort introduktion: Komma igång med Netbeans.pdf. På sidan "Resurser" finns mer information.
Jag ger under denna övning även en kort introduktion till laboration 1, uppgift A.
Arbeta på egen hand med uppgifterna från Övning klasser och objekt.pdf, uppgift 1-4.Att utgå ifrån i uppgift 3: Account.java
Lösningar klasser och objekt.zip (lösningar till uppgift 5 och 6 finns under övning 3)
Övning 3, 5/9 Jag ger under denna övning även en kort introduktion till laboration 1 uppgift B (uppgiften med grafik).
Jag visar hur man hittar information om Javas standardklasser i API (Application Programmers Interface). Dokumentation av Javas API, http://docs.oracle.com/javase/8/docs/api/. Arbeta med uppgifterna från övning 2, "Klasser och objekt", uppgift 1-8.
Lösningsförslag till uppgift 5, PostIt: PostIt.java, TestPostIt.java Lösningsförslag till uppgift 6, PostIt med objekträknare: PostIt.java, TestPostIt.java
En kommentar till uppgift 7, bråk: Varje bråk har en täljare och en nämnare. I fallet med 2 parametrar ska konstruktorn ha parametar för både täljare och nämnare. Konstruktorn med en parameter kan användas om man vill skapa ett bråk som också är ett heltal, t.ex. 5/1. I detta fall representerar den enda paramtern täljaren (nämnaren sätts till 1). Den parameterlösa konstruktorn sätter täljaren till 0 och nämnaren till 1.
Övningen förmiddagen den 7/9 ...är till för frågor om laboration 1.
Övning 4, 9/9 Jag ger en kort introduktion till laboration 2.Jag introducerar också ett verktyg för att rita UML-diagram, Dia, http://dia-installer.de/download/index.html.en
https://play.kth.se/media/Anv%C3%A4nda+Dia+f%C3%B6r+UML%2C+klassdiagram/0_em4ik07k
Arbeta med uppgifterna från Relationer mellan objekt.pdf, 1-3. AccountList och Account som du behöver i första uppgiften finns bland kodexemplen till föreläsning 4 (shared aggregation.zip).Har du något kvar från "Klasser och objekt" så gör färdigt även det (uppgift 1 - 8).
Lösningsförslag: Relationer mellan objekt.zip
Övning 5, 14/9 Lös uppgift 1, Arv och polymorfism.pdfDe klasser du ska utgå ifrån i uppgifterna finns under motsvarande föreläsning.
En introduktion till första uppgiften:
https://play.kth.se/media/%C3%96vning%2C+introduktion+till+arv+%28Netbeans%29/0_yh5i0imh
Lösningsförslag: Arv och polymorfism.zip
Övning 6, 21/9 Lös uppgift 1 - 3, Interface.pdf.
Lösningsförslag: Interface.zip
Det är också lämpligt att du sätter dig in i hur Javas debugger fungerar tillsammans med Netbeans. En bra introduktion:
https://www.youtube.com/watch?v=2Z9B8wYhKWw
Övning 7, 22/9 En kort introduktion till enhetstestning med JUnit i NetBeans:
https://play.kth.se/media/Introduktion+till+JUnit/0_xaq5c23z
Vill du fördjupa dig i hur du använder JUnit tillsammans med NetBeans kan du läsa mer på https://netbeans.org/kb/docs/java/junit-intro.html (läs de delar som tar upp JUnit version 4).¶
Att fundera över: vad bör du testa för metoden equals i klassen MString från laboration 1? Försök skriva enhetstester för denna metod.¶
Övning 8, 23/9 Lös uppgift 1 - 2, Strömmar.pdf. Jag går igenom uppgift 1 om strömmar.
Lösningsförslag: Strömmar.zip
Skicka argument till main-metoden: Argument som vid exekvering skickas till main hamnar i arrayen String[] args och kan sedan användas i applikationen.
I ett terminalfönster, vid prompten: > java MainClassName argument1 argument2 ...
I Netbeans: Högerklicka på projektet i fönstret ”Projects”, och välj sedan ”Properties”. Markera raden ”Run” och fyll i argumenten vid ”Arguments”.NB: I Netbeans placeras filer som en applikation ska läsa ifrån/skriva till i roten av projektmappen. För att se filstrukturen via Netbeans, markera tabben märkt "Files" i övre vänstra fönstret.
Övning 9, 26/9 Övning Generics
Frågestund inför laboration 3
Övning 10, 29/9 Obligatorisk övning om OO Analys och Design, se laboration 4.
Övning 11-12; 5/10, 6/10 GUI och EventHandler, JavaFX.pdfFiler att utgå ifrån i uppgifterna: GuessMyWordApp_0.zip, MouseEventExample.java
Lösningsförslag: GuessMyWordApp.zip, MouseEventDrawLine.java, scribble.zip
Övning 13, 7/10 Arbeta med uppgifter från Threads.pdf
lösningsförslag: TimeThreads.java, ProdConsTest.java
Övning 14, 12/10 Frågor inför laboration 5, X och Y