Labor – Switch + For

Zur besseren Verständlichkeit beim Buchstabieren wird im Flugverkehr das internationale Merkwortalphabet verwendet (eingeführt von der ICAO):

A … Alpha

J … Juliett

S … Sierra

B … Bravo

K … Kilo

T … Tango

C … Charlie

L … Lima

U … Uniform

D … Delta

M … Mike

V … Victor

E … Echo

N … November

W … Whiskey

F … Foxtrot

O … Oscar

X … X-Ray

G … Golf

P … Papa

Y … Yankee

H … Hotel

Q … Quebec

Z … Zulu

I … India

R … Romeo

Erstelle eine Klasse mit einer Methode buchstabieren(String wort), der ein Wort als Zeichenkette übergeben wird.

Dieses Wort wird Buchstabe für Buchstabe durchlaufen (for-Schleife) und für jeden Buchstaben (Typ: char) das entsprechende Merkwort (Alpha, Bravo,…) ausgibt (in diesem Beispiel mit Hilfe einer switch-Anweisung).

Das Programm soll sowohl für Klein- als auch für Großbuchstaben funktionieren. Für nicht erkannte Zeichen (z.B.: Leerzeichen, Umlaute Ä, Ö, Ü, oder ß) soll ein Fragezeichen ausgeben werden.

Beispiel: Es wird das Wort "Häuser" übergeben ( buchstabieren(“Häuser“) ), die Ausgabe auf der Konsole soll folgendermaßen aussehen:

Zu buchstabierendes Wort: Häuser
H...Hotel
ä...?
u...Uniform
s...Sierra
e...Echo
r...Romeo

Die Groß- und Kleinschreibung bei der Ausgabe ist zu beachten. Die Buchstaben sollen in der originalen Schreibweise ausgegeben werden!

Tipps:

Um der Reihe nach auf einzelne Buchstaben zuzugreifen, können folgende Methoden der String-Klasse verwendet werden (siehe auch JavaDoc):

  • charAt(int index) …​ gibt einen bestimmten Buchstaben eines Textes zurück (Typ char, ob index bei 0 oder 1 beginnt  siehe JavaDoc)

  • length() … gibt die Anzahl der Buchstaben eines Textes zurück

Um ein Wort oder einzelne Buchstaben in Groß- bzw. Kleinbuchstaben umzuwandeln gibt es folgende Möglichkeiten:

  • toUpperCase() bzw. toLowerCase() … gibt eine Kopie des Textes zurück, der nur aus Groß- bzw. Kleinbuchstaben besteht.

  • Character.toUpperCase(char ch) bzw. Character.toLowerCase(char ch) …​ gibt den übergebenen Buchstaben als Groß- bzw. Kleinbuchstabe zurück.
    Diese statischen Methoden werden direkt mit Hilfe der Klasse Character aufgerufen und benötigen kein Objekt – wie bereits die statischen Methoden der Math-Klasse: Math.sqrt(…), Math.max(…,…), …

Beispiele:

String wort = "Hallo!";
String kopie = wort.toUpperCase();
System.out.println(wort + " -> " + kopie);

Ausgabe: Hallo! → HALLO!

char ch1 = 'E';
char ch2 = Character.toLowerCase(ch1);
System.out.println(ch1 + " -> " + ch2);

Ausgabe: E → e