Folien



(letzte Synchronisation der PDF-Präsentation: 02.08.2017)

Falls keine PDF-Präsentation zu sehen ist, klicken Sie zum Download hier: Direktdownload PDF-Präsentation

Kontrollstrukturen kommen später ausführlicher; hier wird die if-else-Verzweigung vorweggenommen, weil man sie im Unterricht oft brauchen kann und sie ohne größeren Aufwand zu kapieren ist (auch ohne Struktogramme etc.).

Übungen

Alle Übungen finden Sie in der Materialsammlung (dort auch alle zusätzlichen Dateien wie Bilder, Klassendiagramme oder HTML-Vorlagen!).

Die aktuelle Übung können Sie hier als txt-File herunterladen.


***** Übungen: if/else-Verzweigung (Java) *****

Java: if-else-1: Einfache Altersprüfung

Schreiben Sie eine Fachklasse "Alterspruefung", die eine Methode alterPruefen(alter:int):void bereitstellt.

In dieser Methode wird der als Parameter übergebene Wert daraufhin überprüft, ob er kleiner 18 ist. Es wird eine entsprechende Ausgabe erzeugt ("Du bist noch nicht volljährig" bzw. "Du bist schon 18").

a) Erstellen Sie ein Struktogramm für diese Methode.
b) Programmieren Sie die Methode und testen Sie sie.




Java: if-else-2: Einfache Altersprüfung, Ergänzung

Ergänzen Sie das Programm aus Aufgabe 1 so, dass überprüft wird:
<14 - "Du darfst noch nicht Mofa fahren"
<16, >=14 - "Du darfst Mofa fahren, aber nicht Moped"
<18, >=16 - "Du darfst Moped fahren, aber nicht Auto"
>=18 - "Du darfst endlich Auto fahren!"

Sie haben verschiedene Möglichkeiten, dies zu realisieren.

a) Erstellen Sie ein Struktogramm für diese Methode.
b) Programmieren Sie die Methode und testen Sie sie.




Java: if-else-3: Altersprüfung mit Rückgabewert

(bitte in dieser Aufgabe Getter und Setter verwenden!)

Schreiben Sie eine Fachklasse "Alterspruefung", die eine Methode alterPruefen(alter:int):boolean bereitstellt (das Alter wird über die Konsole per Scanner eingegeben).
Verwenden Sie für den Rückgabewert ein Attribut (oder eine lokale Variable) namens volljaehrig:boolean. (Sie können auch direkt return true schreiben.)

Die Methode gibt true zurück, wenn das Alter 18 oder mehr beträgt, ansonsten false.

Überprüfen Sie den Wahrheitswert in der Startklasse und tätigen Sie eine entsprechende Ausgabe. Beispiel:

--- Java-Code Start ---
Alterspruefung a = new Alterspruefung();
if (a.alterPruefen(19) == false)
// es geht auch: if (!a.alterPruefen(123))
{
System.out.println("Sie sind minderjährig!");
}
else
{
System.out.println("Sie sind volljährig!");
}
--- Code Ende ---




Java: if-else-4: Altersprüfung mit Scanner-Eingabe

Schreiben Sie ein Programm, das folgende Anforderungen erfüllt:
- Es wird eine Konsoleneingabe entgegengenommen, in der das Alter abgefragt wird.
- Die Altersangabe wird überprüft: Liegt der Wert unter 18, wird die Meldung "Zugang verweigert" ausgegeben.

Selbstverständlich verwenden Sie auch hier eine Startklasse und für die Eingabe/Überprüfung eine Fachklasse.

ERGÄNZUNG 1:
Arbeiten Sie mit zwei Methoden: Eine, die die Eingabe organisiert und eine, die die Altersüberprüfung + Ausgabe der Meldung.

ERGÄNZUNG 2 (FORTGESCHRITTENE), _alternativ_ zu Ergänzung 1:
Arbeiten Sie mit drei Fachklassen:
1. Eingabe entgegennehmen
2. Alter überprüfen
3. Ausgabe vornehmen




Java: if-else-5: Passwortprüfung mit Scanner-Eingabe

Schreiben Sie ein Programm, das ein Attribut passwort:String mit einem Initialwert enthält (z.B. "meinPasswor7"). Es wird ein Passwort abgefragt (Konsoleneingabe), das Passwort wird auf Korrektheit überprüft (Achtung: Bei String-Vergleichen mit der Methode equals() arbeiten!).




Java: if-else-6: Zusammenfassende Übung "Registrierung"

Schreiben Sie ein Programm, bei dem sich ein User registrieren kann. Der User gibt seine Daten ein (Vorname, Nachname, Alter in Jahren), diese Daten werden in Objektattributen gespeichert. Anschließend wird der User gefragt, ob er seine Daten ansehen möchte (j/n). Wenn der User „j“ oder „J“ eingibt, werden seine Daten ausgegeben, bei „n“ wird er höflich verabschiedet und das Programm beendet sich.
--- Erstellen Sie ein Klassendiagramm
--- Programmieren Sie die Klassen und testen Sie die Funktionsfähigkeit.

Erwartungen:
--- Sie arbeiten mit unterschiedlichen Fachklassen -> sinnvolles Schichtenkonzept!
--- Auswertung der Eingaben sind nicht case-sensitive.

(Musterlösung unter java20_if-else_musterloesung_6.docx).