Mobilkursen: Java-övningar

Det här är några övningar för att komma igång med Java. Om man redan känner sig hemtam med Java behöver man inte göra dem, men det kan vara bra att snabbt titta igenom dem.

Gör de här övningarna på labbtillfällena. Ni behöver inte visa upp resultaten eller lämna in några labbrapporter, men diskutera gärna eventuella problem eller andra frågor med läraren.

Uppgifter markerade med en asterisk (*) kan hoppas över om man får ont om tid.

Snabblänk: API-spec

Läs först detta

(Eller bläddra i alla fall igenom det.)

Java på Linux

Java (både kompilatorn och run-time-omgivningen) finns installerad på våra Linux-maskiner. Man kompilerar med kommandot javac, till exempel så här:
javac MittProgram.java
Då skapas en fil som heter MittProgram.class. Därefter kör man programmet med kommandot java, till exempel så här:
java MittProgram
Den som har en egen dator kan också ladda hem Java och göra övningar hemma. Rekommenderas!

Eclipse

Eclipse är en integrerad programmeringsomgivning, där man kan redigera, köra och debugga sina Java-program. Här ska vi bara använda Eclipse som editor, som alternativ till exempelvis Emacs och Kedit. Starta Eclipse med kommandot eclipse:
eclipse &

Uppgift 1

main-metoden i ett Java-program tar emot en array av strängar som parameter. Skriv en Java-applikation som tar emot kommandoradsargument och skriver ut dem på skärmen. Resultatet ska se ut så här:
linux> java uppg1 stina kalle sven lena
Argument 1 = stina
Argument 2 = kalle
Argument 3 = sven
Argument 4 = lena

Uppgift 2

Vad händer om man drar en fil och släpper på programmets ikon i Utforskaren?

Uppgift 3

Ta hjälp av exemplet med djur i Java-introduktionen.

Gör ett Java-program som innehåller klasserna Fordon, Bil, Buss och Cykel. Både bilar och cyklar är en sorts fordon. Bussar räknas som en sorts bilar.

Alla fordon har ett antal hjul. Bilar har dessutom ett antal passagerare.

Uppgift 4 (*)

Ta hjälp av exemplen med djur och figurer i Java-introduktionen.

En sportaffär vill ha ett program för hantering av sina produkter. Början till en klasshierarki till stöd för sådan hantering ser ut så här:

Klasshierarki

Det här ska finnas i respektive klass:

Samtliga klasser ska få initialvärden till sina medlemsvariabler via konstruktorerna. Implementera klasserna enligt ovan. Skriv en applikation som instansierar två skor och två tröjor och lagrar dem i en array. Loopa över arrayen och anropa skrivData för respektive objekt.

Försök att reda ut vad som händer och vad som är fördelar med polymorfism och vad som är nackdelar.

Uppgift 5

Ta hjälp av exemplet med knappar i Java-introduktionen.

Gör ett Java-program i form av ett fönster med en knapp. När man trycker på knappen ska programmet avslutas.

Avsluta

Tips: Slå upp metoden exit i klassen System i API-specen.

Uppgift 6 (*)

Gör ett Java-program i form av ett fönster med tre knappar och ett textfält:

Tre knappar

Den första knappen ska avsluta programmet, Den andra knappen ska rensa textfältet. Den tredje knappen ska lägga till ytterligare en knapp i fönstret.

Tre knappar

Dessa nya knappar ska lägga till ett "Hej!" i textfönstret.


Thomas Padron-McCarthy (Thomas.Padron-McCarthy@tech.oru.se), 12 januari 2009