Distansakademin

Korta udda övningar

1. Java syntax

  1. Skriv ett program som byter plats på två variabler utan att använda en tredje variabel.
  2. *Skapa ett program som räknar antalet bokstäver, siffror och specialtecken i en given sträng.

2. Klasser, objekt och datatyper

  1. Skapa en klass Bil med egenskaper som märke, färg och hastighet. Implementera metoder för att öka och minska hastigheten.
  2. *Utöka Bil klassen med en inre klass Motor med egenskaper som hästkrafter och bränsletyp.
  3. Skapa en enum Veckodagar som representerar dagarna i veckan och skriv ut dem i omvänd ordning.

3. Hantera & spara data

  1. *Läs in en textfil och räkna hur många gånger varje ord förekommer.
  2. Skapa ett program som sparar användarens favoritfärger i en fil och sedan läser in dem igen.
  3. *Skriv ett program som konverterar en CSV-fil till en JSON-fil.

4. Felsökning & debugging

  1. Skapa ett program med ett medvetet syntaxfel och korrigera det med hjälp av IDE:ns felsökningsverktyg.
  2. *Skapa ett program som kastar ett undantag vid delning med noll. Hantera undantaget med try-catch.
  3. Skapa en oändlig loop och lär dig använda debuggern för att avbryta den.

5. Analys & design för problemlösning

  1. Designa en klasshierarki för en djurpark med minst tre olika djurtyper.
  2. Skapa en enkel kalkylator med en användarinterface (t.ex. med Swing eller JavaFX).
  3. *Bygg ett system för att hantera en bokhandels lager med funktioner som lägger till och tar bort böcker.

6. Datastrukturer & algoritmer

  1. Implementera en egen stack med hjälp av en länkad lista.
  2. *Skriv ett program som hittar den näst största siffran i en array.
  3. Implementera binärsökning för en sorterad array.
  4. Skapa en egen klass för en nod i ett binärt träd och skriv en metod för att infoga noder.
  5. Implementera en enkel hashtabell med “linear probing” som kollisionshantering.
  6. *Skriv en funktion som kontrollerar om en given sträng har balanserade parenteser (t.ex. “{[()]}”).
  7. Skapa en enkel grafklass och skriv en metod för att hitta grannar till en given nod.

7. Övrigt

  1. Använd Java’s Stream API för att filtrera och sortera en lista med namn.
  2. Skapa ett enkelt GUI-program där användaren kan rita former på en canvas.
  3. *Använd Java’s Date and Time API för att räkna ut hur många dagar det är mellan två datum.
  4. Skapa en multi-trådad applikation där trådar delar på en gemensam resurs med hjälp av synchronized.
  5. Implementera en enkel chat-applikation med hjälp av Java’s Socket programmering.
  6. *Skriv ett program som genererar och skriver ut ett slumptal mellan 1 och 100 tills det matchar ett förutbestämt nummer.
  7. Använd lambdauttryck och funktionella gränssnitt för att implementera ett enkelt event-system.
  8. Implementera en enkel krypteringsalgoritm, t.ex. Caesar-chiffer.
  9. Använd Java’s Reflection API för att inspektera och manipulera klasser vid körning.
  10. Skriv ett program som skapar och hanterar en trådpool för att utföra flera uppgifter samtidigt.