2. Semester (Fortgeschrittene Programmierung) Exercises - niklasHohlweg/dhbwStudiumWWI2021H GitHub Wiki
first_exercise: Erstelle ein Java Programm, das:
- Das Datum als 3 Zahlen annimmt(20 03 2019)
- Eine Zeichenkette ausgibt(20/03/2019)
- Die Zeichenkette umwandelt und ausgibt(20.03.2019)
polymorphismus_exercise: Implementieren Sie folgendes Java Projekt:
- Initialisiere Rechner mit 10 Quadraten und 10 Dreiecken im “formen” Array
- print...gibt die Flächen, Umfänge oder Farben aller Objekte im Array aus

exception_exercise: Implementiere folgendes Java Programm:
- Die “main” Methode ruft die 4 Methoden in “Rechner” mit verschiedenen Strings auf
- “Rechner” konvertiert die Strings in Zahlen.
- Im Falle eines Fehlers werfen alle 4 Methoden den Fehler lediglichan den Aufrufer zurück•Im Falle eines Fehlers gibt “main” eine Fehlermeldungaus, ansonsten das Ergebnis

Implementiere folgendes Java Programm:
- Die “main” Methode ruft die 4 Methoden in “Rechner” mit verschiedenen Strings auf
- “Rechner” konvertiert die Strings in Zahlen. Im Falle eines Fehlers werfen die Methoden einen neuen “Rechner Exception” Fehler, der den Namen der fehlgeschlagenen Rechenoperation enthält
- Im Falle eines Fehlers gibt “main” eine Fehlermeldung aus, die den Namen der fehlgeschlagenen Rechenoperation aus der Exception entnimmt

threading_exercise: Implementiere folgendes Java Programm:
- Eine Zähler Klasse, die Runnable implementiert und in deren „run()“ Methode alle Zahlen von 0 bis 1.000.000 in die Konsole ausgegeben werden
- Die “main” Methode erstellt zwei Objekte der Zähler Klasse und zwei Objekte der „Thread“ Klasse, die je eine Referenz auf die jeweiligen Zähler erhalten
- Ruft die run() Methoden eurer Zähler Objekte auf
- Ruft die run() Methoden eurer Thread Objekte auf
- Ruft die start() Methoden eurer Thread Objekte auf
threading_exercise_2 Implementiere folgendes Java Programm:
- Eine Zähler Klasse, die Runnable implementiert und in deren „run()“ Methode alle Zahlen eines Intervalls summiert werden
- Die Main Methode soll alle Zahlen zwischen 0 und 20.000.000 addieren und erstellt dafür zwei Threads der Zähler Klasse, um die Arbeit aufzuteilen
- Die Main Methode wartet, bis beide Threads fertig gerechnet haben, und addiert dann beide Teilergebnisse und gibt das Gesamtergebnis in der Konsole aus. Wie lange dauert die Ausführung mit nur einem Thread, der die ganze Arbeit erledigt, und wie lange dauert sie, wenn sich mehrere Threads die Arbeit teilen?
threading_exercise_3 Implementiere folgendes Java Programm:
- Eine Zähler Klasse, die eine „int zaehler“ enthält und eine „inkrementieren“ Methode, um diese Variable um 1 zu erhöhen
- Eine „implements Runnable“ Klasse, die im Konstrukter eine Objektreferenz eines Zähler-Objekts übernimmt. In ihrer run() Methode ruft sie 100.000-mal die „inkrementieren“ Methode auf
- Die Main Methode erstellt ein Zähler Objekt, übergibt es an ein Runnable Objekt, erstellt einen Executor und ruft 5-mal „execute“ mit dem RunnableObjekt auf
- Wie hoch ist die „zaehler“ am Ende? Erreicht er die erwarteten 500.000?