Aufgabe: Briefanrede
Ausgangslage
Ein Programm soll je nach Geschlecht die korrekte Briefanrede in mehreren Sprachen ausgeben.
Sprache | Weiblich | Männlich |
---|---|---|
D | Sehr geehrte Frau | Sehr geehrter Herr |
F | Chère madame | Cher monsieur |
E | Dear Mrs. | Dear Mr. |
Ablauf des Programms
1. Der Benutzer gibt das Geschlecht ein: W(eiblich), M(ännlich) oder X(Exit) 2. Solange das Geschlecht nicht 'X' ist. 2.1. Falls das Geschlecht 'W' ist. 2.1.1. Das Programm gibt die Anreden für Weiblich aus. 2.2. Sonst 2.2.1. Das Programm gibt die Anreden für Männlich aus. 2.3. Der Benutzer gibt das Geschlecht ein: W(eiblich), M(ännlich) oder X(Exit)
Ablauf im Terminal
Auftrag: Projekt einrichten
- Erstellen Sie ein neues Modul in Ihrem (Java-)Workspace.
- Kopieren Sie die Vorlage in ihre IDE.
- Passen Sie den Programmkopf (Autor, Datum) an.
Vorlage
- Salutation.java
import java.util.Scanner; /** * show the salutations depending on gender * * @author ????? * @since 201?-10-?? * @version 1.0 */ public class Salutation { static Scanner scanner; /** * constructor */ public Salutation() { scanner = new Scanner(System.in); } /** * starts the execution * * @param args * command line arguments */ public static void main(String[] args) { Salutation program = new Salutation(); System.out.println("Willkommen"); program.salute(); System.out.println("\nUf Wiederluege!"); scanner.close(); } /** * enter the gender and show the salutations */ private void salute() { // TODO-1 Variablen deklarieren // TODO-2.1 Ausgabe "Geschlecht (W oder M / X=Ende) >" // TODO-2.2 Eingabe Geschlecht // TODO-4 Iteration Solange Geschlecht nicht gleich X // TODO-3 Selektion: Falls Geschlecht gleich W // TODO-2.1 Ausgabe Sehr geehrte Frau // TODO-2.1 Ausgabe Chère madame // TODO-2.1 Ausgabe Dear Mrs. // TODO-3 Sonst // TODO-2.1 Ausgabe Sehr geehrter Herr // TODO-2.1 Ausgabe Cher monsieur // TODO-2.1 Ausgabe Dear Mr. // TODO-3 Ende der Selektion // TODO-2.1 Ausgabe "Geschlecht (W oder M / X=Ende) >" // TODO-2.2 Eingabe Geschlecht // TODO-4 Ende der Iteration } }
Variablen deklarieren
Einleitung
Immer wenn ein Programm einen Wert speichern muss, benötigen wir eine Variable. Mit Variablen können wir:
- Eingaben des Benutzers speichern.
- Berechnungen durchführen und das Ergebnis festhalten.
- Bedingungen formulieren.
Zur Erinnerung
In Java werden Variablen durch Angabe eines Datentyps (int, float, char, …
) und eines Bezeichners deklariert.
int zahl; char buchstabe;
Auftrag
Ein- und Ausgaben realisieren (Sequenzen)
Einleitung
Eingaben und Ausgaben gehören zu den typischen Befehlen eines Programms.
Zur Erinnerung:
- System.out.print(„???“)
Gibt eine Zeichenkette aus. - System.out.println(„???“)
Gibt eine Zeichenkette und anschliessend einen Zeilenumbruch aus. - variable = scanner.nextLine()
Liest eine Zeichenkette und speichert diese in der Variable. - variable = scanner.nextLine().charAt(0)
Liest eine Zeichenkette und speichert das erste Zeichen in der Variable.
Auftrag
Realisieren Sie die Eingaben und Ausgaben im Programm.
Das Scanner-Objekt (static Scanner scanner
) wurde bereits deklariert.
Auch das Öffnen (scanner = new Scanner(System.in)
) und Schliessen (scanner.close()
) ist bereits in der Vorlage umgesetzt.
Vorgehen
- Ausgaben realisieren
- Ersetzen Sie im Programm die Kommentare für die Ausgaben (TODO-2.1) mit den korrekten Befehlen.
- Kompilieren Sie das Programm und korrigieren Sie allfällige Fehler.
- Führen Sie das Programm aus; Sie sehen die Ausgaben in der Konsole.
- Eingaben realisieren
- Ersetzen Sie die Kommentare für die Eingaben (TODO-2.2) mit den korrekten Befehlen.
- Kompilieren Sie das Programm und korrigieren Sie allfällige Fehler.
- Führen Sie das Programm aus; Sie können nun 2x ein Zeichen eingeben.
Selektion realisieren
Einleitung
Mit Selektionen können wir den Ablauf unseres Programms steuern. Abhängig von einer Bedingung wird ein Block von Befehlen ausgeführt oder nicht.
Zur Erinnerung
- Das Schlüsselwort für eine Selektion ist
if
. - Die Bedingung muss in runden Klammern geschrieben werden.
- Alle Befehle die zu einem Programmblock gehören, werden mit geschweiften Klammern eingefasst.
- Mit dem optionalen Schlüsselwort
else
wird ein alternativer Programmblock eingeleitet. Dieser Block wird ausgeführt, wenn die Bedingung nicht erfüllt ist.else
hat keine Bedingung.
if (variable == wert) { befehl befehl } else { befehl }
Auftrag
Realisieren Sie die Selektion im Programm.
Vorgehen
- Ersetzen Sie die Kommentare (TODO-3) für
Falls
undSonst
durch die korrekten Befehle. - Fassen Sie die beiden Programmblöcke mit den Ausgaben in geschweiften Klammern ein.
- Kompilieren Sie das Programm und korrigieren Sie allfällige Fehler.
- Führen Sie das Programm aus; Sie erhalten nun die korrekten Anreden für Weiblich und Männlich.
Iteration realisieren
Einleitung
Durch eine Iteration kann ein Programmblock mehrmals ausgeführt werden. Solange die Bedingung erfüllt ist, wird ein Block von Befehlen ausgeführt.
Zur Erinnerung
- Das Schlüsselwort für eine Selektion ist
while
. - Die Bedingung muss in runden Klammern geschrieben werden.
- Alle Befehle die zu einem Programmblock gehören, werden mit geschweiften Klammern eingefasst.
- Eine Iteration kennt kein
else
.
while (variable == wert) { befehl befehl }
Auftrag
Realisieren Sie die Iteration im Programm.
Vorgehen
Testen
Einleitung
Beim Testen versuchen wir Fehler im Programm zu finden. Finden wir einen Fehler, so halten wir diesen fest und testen weiter. Das Korrigieren der Fehler erfolgt erst, wenn wir alle Tests durchgeführt haben.
Auftrag
Testen Sie Ihr Programm und prüfen Sie, ob das Programm korrekt reagiert. Halten Sie allfällige Fehler fest.