Korta udda övningar
1. Java syntax
- Skriv ett program som byter plats på två variabler utan att använda en tredje variabel.
- *Skapa ett program som räknar antalet bokstäver, siffror och specialtecken i en given sträng.
2. Klasser, objekt och datatyper
- Skapa en klass
Bil
med egenskaper som märke, färg och hastighet. Implementera metoder för att öka och minska hastigheten.
- *Utöka
Bil
klassen med en inre klass Motor
med egenskaper som hästkrafter och bränsletyp.
- Skapa en enum
Veckodagar
som representerar dagarna i veckan och skriv ut dem i omvänd ordning.
3. Hantera & spara data
- *Läs in en textfil och räkna hur många gånger varje ord förekommer.
- Skapa ett program som sparar användarens favoritfärger i en fil och sedan läser in dem igen.
- *Skriv ett program som konverterar en CSV-fil till en JSON-fil.
4. Felsökning & debugging
- Skapa ett program med ett medvetet syntaxfel och korrigera det med hjälp av IDE:ns felsökningsverktyg.
- *Skapa ett program som kastar ett undantag vid delning med noll. Hantera undantaget med try-catch.
- Skapa en oändlig loop och lär dig använda debuggern för att avbryta den.
5. Analys & design för problemlösning
- Designa en klasshierarki för en djurpark med minst tre olika djurtyper.
- Skapa en enkel kalkylator med en användarinterface (t.ex. med Swing eller JavaFX).
- *Bygg ett system för att hantera en bokhandels lager med funktioner som lägger till och tar bort böcker.
6. Datastrukturer & algoritmer
- Implementera en egen stack med hjälp av en länkad lista.
- *Skriv ett program som hittar den näst största siffran i en array.
- Implementera binärsökning för en sorterad array.
- Skapa en egen klass för en nod i ett binärt träd och skriv en metod för att infoga noder.
- Implementera en enkel hashtabell med “linear probing” som kollisionshantering.
- *Skriv en funktion som kontrollerar om en given sträng har balanserade parenteser (t.ex. “{[()]}”).
- Skapa en enkel grafklass och skriv en metod för att hitta grannar till en given nod.
7. Övrigt
- Använd Java’s Stream API för att filtrera och sortera en lista med namn.
- Skapa ett enkelt GUI-program där användaren kan rita former på en canvas.
- *Använd Java’s Date and Time API för att räkna ut hur många dagar det är mellan två datum.
- Skapa en multi-trådad applikation där trådar delar på en gemensam resurs med hjälp av
synchronized
.
- Implementera en enkel chat-applikation med hjälp av Java’s Socket programmering.
- *Skriv ett program som genererar och skriver ut ett slumptal mellan 1 och 100 tills det matchar ett förutbestämt nummer.
- Använd lambdauttryck och funktionella gränssnitt för att implementera ett enkelt event-system.
- Implementera en enkel krypteringsalgoritm, t.ex. Caesar-chiffer.
- Använd Java’s Reflection API för att inspektera och manipulera klasser vid körning.
- Skriv ett program som skapar och hanterar en trådpool för att utföra flera uppgifter samtidigt.