Java Exercises - Methoden

Mit diesen Übungen kannst du dein Wissen über Methoden vertiefen.

Voraussetzung

it-ninja tip

Wir stellen dir bei den Übungen jeweils komplette Projekte zur Verfügung. Du musst grundsätzlich nur dort was anpassen, wo die folgende Kommentarzeile steht:

1
// IT-Ninja: Füge hier Deinen Code ein:

Alles andere kannst du für den Moment ignorieren. Wir erklären dir die einzelnen Zeilen Schritt für Schritt in den Modulen.

Vorbereitungsarbeiten

it-ninja info
Neu bei it-ninja?
Die Anleitung enthält einige Befehle und Fachbegriffe, die dir möglicherweise noch nichts sagen. Mach dir deswegen keine Sorgen – in den kommenden Modulen erklären wir dir alles Schritt für Schritt. Schon bald wirst auch du ein it-ninja sein.

Um die folgenden Aufgaben erfolgreich umzusetzen, führe diese Schritte aus:

  1. Beim ersten Mal:

    1. IntelliJ IDEA installieren → !*IntelliJ IDEA einrichten
    2. Git-Repository einrichten → !*Persönliches Git-Repository
  2. Öffne eine !*CMD-Shell und wechsle ins Verzeichnis deines Git-Repositories:

  1. Stelle sicher, dass alle Dateien im Git-Repository committed sind. Mit git status erhältst du eine Übersicht:
1
git status

Falls du bei diesem Befehl einen roten Text siehst, musst du zuerst die aktuellen Dateien sichern:

1
2
git add .
git commit -m "[gescheiter Kommentar]"
  1. Erstelle oder wechsle in den Template Branch:

    Beim ersten Mal musst du einen Template Branch erstellen:

1
git checkout -b "templates"

Falls er bereits existiert, kannst du einfach switchen:

1
git switch "templates"
  1. Lade den Source-Code zu den Übungen herunter und entpacke ihn im Root-Verzeichnis deines lokalen Repositories:
    [[itninja_localrepo|C:\Users\u123456\repos.local\it-ninjas-lab]]

    Den Source-Code findest du hier: Download | Online anschauen

  2. Committe den originalen Source-Code, damit er sicher im Repository gespeichert ist:

1
2
3
git add .
git commit -m "Add it-ninja_02_java_03_java-grundlagen_08_methods"
git push
  1. Erstelle einen neuen Branch, um deine Lösung zu implementieren:
1
git checkout -b "labs/it-ninja_02_java_03_java-grundlagen_08_methods"
it-ninja info

Hier kannst du auch einen kürzeren Namen wählen. Verwende labs am Anfang des Branch-Namens für Branches, die deinen eigenen Code enthalten.

Stelle dir einen Branch vorerst als Ordner vor. Jeder Ordner enthält eine Version oder einen Stand von deinem Quellcode. Du kannst dann mit git zwischen diesen Ordern hin und her wechseln, sie vergleichen aber später auch zusammenführen.

it-ninja tip
Pro-Tipp:
Du kannst jederzeit einen weiteren Branch erstellen – z. B. wenn du etwas ausprobieren möchtest. Alternativ kannst du auch in der Git-History einen alten Stand wiederherstellen, was aber weniger flexibel ist.
  1. Starte IntelliJ und öffne mit File → Open das Verzeichnis mit dem Source-Code.
it-ninja warning
Du musst mit IntelliJ den Ordner suchen, welches einen Ordner src oder die Datei pom.xml enthält. Ansonsten wird IntelliJ Mühe haben, dir das Programm zu kompilieren.

Wenn du alles korrekt gemacht hast, findest du das Projekt hier:

  1. Falls du zum ersten Mal mit IntelliJ arbeitest, findest du !*hier eine Anleitung, wie man ein Programm startet.
it-ninja tip
Um das Programm zu starten musst du jeweils die Datei Main.java öffenen. Dann sollte in IntelliJ oben rechts ein grünes Dreieck vorhanden sein, welches das Programm startet.

Nun bist du bereit, die untenstehenden Aufgaben zu lösen.

it-ninja warning

Wenn du alle Änderungen gemacht hast und mit der Übung fertig bist, oder einen ‘Zwischenstand’ festhalten willst, führe die folgenden Befehle aus um das Repository auf dem Server zu speichern (von wo du es geklont hast):

Wenn du deine Änderungen auf dem Git-Server sichern willst, musst du das mit einem push machen.

Beim ersten mal musst du git noch mitteilen, wie der Branch auf dem Git-Server heissen soll:

1
git push --set-upstream origin labs/it-ninja_02_java_03_java-grundlagen_08_methods

Bei weiteren pushes wird es dann einfacher:

1
git push
it-ninja tip

Die meisten Übungen sind professionell strukturiert – so wie in echten Softwareprojekten. Zu gutem Code gehören auch Tests, die sicherstellen, dass dein Code wie erwartet funktioniert. Sofern nicht anders erwähnt, kannst du mit folgendem Befehl im Root-Verzeichnis des Projekts (dort, wo sich auch die pom.xml befindet) überprüfen, ob du die Aufgabe korrekt gelöst hast:

1
mvn test

Viel Erfolg!

Aufgabe 1: Nachricht drucken

Passe untenstehenden Quellcode an und füge folgende Methode hinzu:


Name der Methode: Bestimme selber einen passenden Namen für die Methode
Funktion: Gibt eine Nachricht auf der Konsole aus, Format: Nachricht an [Name des Empfängers]: [Nachricht]
Parameter1: Name des Empfängers [String]
Parameter2: Nachricht [String]
Rückgabewert: Keiner


Halte die Coding Guidelines ein!

Im zur Übung gehörendem Source kannst Du die Änderung an folgender Stelle machen:
src\main\java\ch\itninja\labs\basicexercises\MessageHelper.java:

1
2
3
4
public class MessageHelper {

    // IT-Ninja: Füge hier Deinen Code ein:
}

Wenn du die Methode implementiert hast, kannst du sie aus main aufrufen.

Im zur Übung gehörendem Source kannst Du die Änderung an folgender Stelle machen:
src\main\java\ch\itninja\labs\Main.java:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
    public static void main(String[] args) {

        // Sample call for "Nachricht drucken"
        // IT-Ninja: Füge hier Deinen Code ein:

        // Sample call for "Minimum von drei Zahlen"
        // IT-Ninja: Füge hier Deinen Code ein:

        // Sample call for "Fibonacci"
        // IT-Ninja: Füge hier Deinen Code ein:
    }

Falls du sie testen willst, kannst du sie aus dem vorbereiteten Test aufrufen.

Im zur Übung gehörendem Source kannst Du die Änderung an folgender Stelle machen:
src\test\java\ch\itninja\labs\basicexercises\MessageHelperTest.java:

1
2
3
4
5
6
7
        try {
            // WHEN
            // Aufruf der Methode, welche wir testen wollen (etwas wie: methode(name, message);):
            // IT-Ninja: Füge hier Deinen Code ein:
        } finally {
            System.setOut(originalOut);
        }

Beispiel 1:

Eingabe:

1
yourImplementation("Peter", "Das Meeting beginnt um 9 Uhr.");

Ausgabe:

1
Nachricht an Peter: Das Meeting beginnt um 9 Uhr.

Beispiel 2:

Eingabe:

1
yourImplementation("Linda", "Bitte rufe Hans Mustermann zurück.");

Ausgabe:

1
Nachricht an Linda: Bitte rufe Hans Mustermann zurück.

Aufgabe 2: Minimum von drei Zahlen

Passe untenstehenden Quellcode an und füge folgende Methode hinzu:


**Name der Methode: Bestimme selber einen passenden Namen für die Methode
Funktion: Gibt die kleinste von 3 Zahlen zurück
Parameter1: Erste Zahl [int]
Parameter2: Zweite Zahl [int]
Parameter3: Dritte Zahl [int]
**Rückgabewert:** Kleinste der 3 Zahlen [int]


Halte die Coding Guidelines ein!

Im zur Übung gehörendem Source kannst Du die Änderung an folgender Stelle machen:
src\main\java\ch\itninja\labs\basicexercises\NumberHelper.java:

1
2
3
4
public class NumberHelper {

    // IT-Ninja: Füge hier Deinen Code ein:
}

Wenn du die Methode implementiert hast, kannst du sie aus main aufrufen.

Im zur Übung gehörendem Source kannst Du die Änderung an folgender Stelle machen:
src\main\java\ch\itninja\labs\Main.java:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
    public static void main(String[] args) {

        // Sample call for "Nachricht drucken"
        // IT-Ninja: Füge hier Deinen Code ein:

        // Sample call for "Minimum von drei Zahlen"
        // IT-Ninja: Füge hier Deinen Code ein:

        // Sample call for "Fibonacci"
        // IT-Ninja: Füge hier Deinen Code ein:
    }

Falls du sie testen willst, kannst du sie aus dem vorbereiteten Test aufrufen.

Im zur Übung gehörendem Source kannst Du die Änderung an folgender Stelle machen:
src\test\java\ch\itninja\labs\basicexercises\NumberHelperTest.java:

1
2
3
4
5
6
        try {
            // WHEN
            // Aufruf der Methode, welche wir testen wollen (etwas wie: min = methode(a, b, c);):
            // IT-Ninja: Füge hier Deinen Code ein:
        } finally {
        }

Beispiel 1:

Eingabe:

1
min = yourImplementation(63, 22, 98);

Ausgabe:

1
Example Output: The minimum from 63, 22 and 98 is 22.

Beispiel 2:

Eingabe:

1
min = yourImplementation(17, 67, 32);

Ausgabe:

1
Example Output: The minimum from 17, 67 and 32 is 17.

Beispiel 3:

Eingabe:

1
min = yourImplementation(4, 56, 3);

Ausgabe:

1
Example Output: The minimum from 4, 56 and 3 is 3.

Aufgabe 3: Fibonacci

Passe untenstehenden Quellcode an und füge folgende Methode hinzu:


Name der Methode: Bestimme selber einen passenden Namen für die Methode
Funktion: Berechnet die n-te Zahl der Fibonacci-Folge.
Parameter1: n [int]
Rückgabewert: n-te Zahl der Fibonacci-Folge [int]
Abgrenzung: Gibt -1 zurück, wenn Fibonacci-Folge ausserhalb des Wertebreichs von int ist.


Informationen zur Fibonacci-Folge findest du hier.

Halte die Coding Guidelines ein!

Im zur Übung gehörendem Source kannst Du die Änderung an folgender Stelle machen:
src\main\java\ch\itninja\labs\basicexercises\FibonacciHelper.java:

1
2
3
4
public class FibonacciHelper {

    // IT-Ninja: Füge hier Deinen Code ein:
}

Wenn du die Methode implementiert hast, kannst du sie aus main aufrufen.

Im zur Übung gehörendem Source kannst Du die Änderung an folgender Stelle machen:
src\main\java\ch\itninja\labs\Main.java:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
    public static void main(String[] args) {

        // Sample call for "Nachricht drucken"
        // IT-Ninja: Füge hier Deinen Code ein:

        // Sample call for "Minimum von drei Zahlen"
        // IT-Ninja: Füge hier Deinen Code ein:

        // Sample call for "Fibonacci"
        // IT-Ninja: Füge hier Deinen Code ein:
    }

Falls du sie testen willst, kannst du sie aus dem vorbereiteten Test aufrufen.

Im zur Übung gehörendem Source kannst Du die Änderung an folgender Stelle machen:
src\test\java\ch\itninja\labs\basicexercises\FibonacciHelperTest.java:

1
2
3
4
5
6
        try {
            // WHEN
            // Aufruf der Methode, welche wir testen wollen (etwas wie: fibonacci = methode(n);):
            // IT-Ninja: Füge hier Deinen Code ein:
        } finally {
        }

Beispiel 1:

Eingabe:

1
fibonacci = yourImplementation(0);

Ausgabe:

1
Example Output: The 0. element of the Fibonacci sequence is 0.

Beispiel 2:

Eingabe:

1
fibonacci = yourImplementation(1);

Ausgabe:

1
Example Output: The 1. element of the Fibonacci sequence is 1.

Beispiel 3:

Eingabe:

1
fibonacci = yourImplementation(2);

Ausgabe:

1
Example Output: The 2. element of the Fibonacci sequence is 1.

Beispiel 4:

Eingabe:

1
fibonacci = yourImplementation(7);

Ausgabe:

1
Example Output: The 7. element of the Fibonacci sequence is 13.

Beispiel 5:

Eingabe:

1
fibonacci = yourImplementation(-5);

Ausgabe:

1
Example Output: The -5. element of the Fibonacci sequence is 0.

Beispiel 6:

Eingabe:

1
fibonacci = yourImplementation(100);

Ausgabe:

1
Example Output: The 100. element of the Fibonacci sequence is -1.