Till KTH:s startsida Till KTH:s startsida

Visa version

Version skapad av Anders Lindström 2016-09-06 11:39

Visa < föregående | nästa >
Jämför < föregående | nästa >

Ö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.javaTestPostIt.java  
Lösningsförslag till uppgift 6, PostIt med objekträknare: PostIt.javaTestPostIt.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, speciellt uppgiften med grafik (del B).Jag introducerar också ett verktyg för att rita UML-diagram, Diahttp://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 (uppdaterad 2015-09-15 med ListOfAccounts)

Övning 5, 14/9

Lös uppgift 1, Arv och polymorfism.pdf
De klasser du ska utgå ifrån i uppgifterna finns under motsvarande föreläsning.

Lösningsförslag: Arv och polymorfism.zip

Övning 6, 21/9

Lös uppgift 1 - 3, Interface.pdf.

Det är också lämpligt att du sätter dig in i hur Javas debugger fungerar tillsammans med Eclipse. En bra tutorial: http://eclipsetutorial.sourceforge.net/debugger.html. Är du ute efter en snabb introduktion räcker det kanske med Lesson 1 och 2 (2*15 min).

Lösningsförslag: Interface.zip

Övning 7, 22/9

Frågor...

Ö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.pdf
Filer att utgå ifrån i uppgifterna: GuessMyWordApp_0.zipMouseEventExample.java

Lösningsförslag: GuessMyWordApp.zipMouseEventDrawLine.javascribble.zip

Övning 13, 7/10

Arbeta med uppgifter från Threads.pdf

lösningsförslag: TimeThreads.javaProdConsTest.java

Övning 14, 12/10

Frågor inför laboration 5, X och Y