Java Exercises - Variablen und bedingte Anweisungen

Mit diesen Übungen kannst du dein Wissen über bedingte Ausführung vertiefen.

Voraussetzung

  • Du verstehst und kennst die verschiedenen Conditional Statements.
  • Du weisst, wann und wie welches Conditional Statement eingesetzt werden sollte.

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
  1. Erstelle einen neuen Branch für die Übung:
1
git checkout -b "templates/it-ninja_02_java_03_java-grundlagen_06_control-structures-if"
it-ninja info
Du kannst auch einen kürzeren Namen für den Branch wählen. Wir verwenden templates am Anfang des Branch-Namens für Branches, welche den ursprünglichen Übungscode enthalten.
  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
git add .
git commit -m "Initial version from it-ninja"
  1. Erstelle einen neuen Branch, um deine Lösung zu implementieren:
1
git checkout -b "labs/it-ninja_02_java_03_java-grundlagen_06_control-structures-if"
it-ninja info
Auch hier kannst du einen kürzeren Namen wählen. Verwende labs am Anfang des Branch-Namens für Branches, die deinen eigenen Code enthalten.
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. 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.

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

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 - Zahlenvergleich

Passe die folgende Methode an. Vergleiche die beiden Zahlen ‘zahl1’ und ‘zahl2’ und gib das Resultat des Vergleichs auf auf der Konsole aus:

  • Zahl1(value1) ist kleiner als Zahl2(value2)
  • Zahl1(value1) ist grösser als Zahl2(value2)
  • Zahl1(value1) ist gleich gross wie Zahl2(value2)

Wobei in der Ausgabe value1 und value2 durch die tatsächlichen Werte ersetzt werden sollen.

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

1
2
3
4
5
    public static void compareNumbers(int number1, int number2) {

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

    }

Beispiel 1:

Eingabe:

1
CompareNumbers.compareNumbers(-1, 5);

Ausgabe:

1
Zahl1(-1) ist kleiner als Zahl2(5)

Beispiel 2:

Eingabe:

1
CompareNumbers.compareNumbers(23, 7);

Ausgabe:

1
Zahl1(23) ist grösser als Zahl2(7)

Beispiel 3:

Eingabe:

1
CompareNumbers.compareNumbers(47, 47);

Ausgabe:

1
Zahl1(47) ist gleich gross wie Zahl2(47)

Beispiel 4:

Eingabe:

1
CompareNumbers.compareNumbers(0, 0);

Ausgabe:

1
Zahl1(0) ist gleich gross wie Zahl2(0)

Aufgabe 2 - Schaltjahr

Passe die folgende Methode an. Stell fest, ob das übergebene Jahr ein Schaltjahr ist (Gregorianischer Kalender). Gib auf der Konsole das Resultat aus:

  • Das Jahr year ist ein Schaltjahr gemäss gregorianischem Kalender
  • Das Jahr year ist kein Schaltjahr gemäss gregorianischem Kalender

Wobei in der Ausgabe year durch das tatsächliche Jahr ersetzt werden soll. Falls das Jahr ein Schaltjahr ist, soll die Methode true zurückgeben, andernfalls false.

Verwende keine logischen Ausdrücke zur Berechnung des Schaltjahres. Nutze stattdessen if-else- und else-if Anweisungen.

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

1
2
3
4
5
    public static boolean isLeapYear(int year) {

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

    }

Beispiel 1:

Eingabe:

1
boolean result = LeapYear.isLeapYear(1200);

Ausgabe:

1
Das Jahr 1200 ist kein Schaltjahr gemäss gregorianischem Kalender

Beispiel 2:

Eingabe:

1
boolean result = LeapYear.isLeapYear(1996);

Ausgabe:

1
Das Jahr 1996 ist ein Schaltjahr gemäss gregorianischem Kalender

Beispiel 3:

Eingabe:

1
boolean result = LeapYear.isLeapYear(1900);

Ausgabe:

1
Das Jahr 1900 ist kein Schaltjahr gemäss gregorianischem Kalender

Beispiel 4:

Eingabe:

1
boolean result = LeapYear.isLeapYear(2000);

Ausgabe:

1
Das Jahr 2000 ist ein Schaltjahr gemäss gregorianischem Kalender

Beispiel 5:

Eingabe:

1
boolean result = LeapYear.isLeapYear(2021);

Ausgabe:

1
Das Jahr 2021 ist kein Schaltjahr gemäss gregorianischem Kalender

Beispiel 6:

Eingabe:

1
boolean result = LeapYear.isLeapYear(2024);

Ausgabe:

1
Das Jahr 2024 ist ein Schaltjahr gemäss gregorianischem Kalender

Beispiel 7:

Eingabe:

1
boolean result = LeapYear.isLeapYear(2100);

Ausgabe:

1
Das Jahr 2100 ist kein Schaltjahr gemäss gregorianischem Kalender

Beispiel 8:

Eingabe:

1
boolean result = LeapYear.isLeapYear(2400);

Ausgabe:

1
Das Jahr 2400 ist ein Schaltjahr gemäss gregorianischem Kalender

Beispiel 9:

Eingabe:

1
boolean result = LeapYear.isLeapYear(2023);

Ausgabe:

1
Das Jahr 2023 ist kein Schaltjahr gemäss gregorianischem Kalender

zur Dokumentation Hier kommst Du zurück zur Dokumentation: Kontrollstrukturen.