Entwickeln Sie bitte
ein Programm zum Extrahieren von Initialen aus einem Namen, der als
Zeichenkette eingegeben wird. Das Programm soll mit Hilfe einer Eingabeaufforderung
den Namen einlesen. Der Name soll folgendes Format haben:
[Dr.] Vorname ZweiterVorname
DritterVorname .... Familienname
[]- heißt
optional, d. h. der eingeklammerte Ausdruck kann vorhanden sein oder
auch nicht!
'....' heißt,
dass Sie nicht im Vorhinein wissen können, aus wie vielen Namensteilen
sich dieser Name zusammensetzt!
Das Programm würde
bei dem oberen Beispiel Folgendes ausgeben:
V. Z. D. F. !
Hinweise:
Verwenden Sie bitte
zum Einlesen der Zeichenkette die Methode readString():
/**
* read a string from the console. The string is
* terminated by a newline
* @return the input string (without the newline)
*/
static String readString()
{ int ch;
String r = "";
boolean done = false;
while (!done)
{ try
{ ch = System.in.read();
if (ch < 0 || (char)ch == '\n')
done = true;
else if ((char)ch != '\r') // weird--it used to do \r\n translation
r = r + (char) ch;
}
catch(java.io.IOException e)
{ done = true;
}
}
return r;
}
Bitte überprüfen
Sie die folgende Methode auf semantische Fehler! (4 Fehler!)
Diese Methode bekommt
zwei einstellige Integer-Werte, addiert sie und gibt das Ergebnis in
textueller Form aus. Beispielsweise wird ein Durchlauf für die
zwei Werte 5 und 7 wie folgt aussehen:
Ergebnis der
Addition ist: Fuenf plus Sieben ergibt: Zwölf
Bitte beachten Sie
auch:
- die Gruppen der
switch-Anweisungen sind jeweils gleich aufgebaut, d. h. wenn ein Fehler
vorhanden ist, kommt er in der ganzen Gruppe vor.
String stringAddition(int ersterWert, int zweiterWert){
String wert1=null, wert2=null;
if (ersterWert > 9 || ersterWert < 0 || zweiterWert > 9 || zweiterWert < 0){
System.out.println("Bitte Zahlen zwischen 0 und 9 angeben!");
}
else{
switch (ersterWert){
case 0: wert1 = new String("null ");
case 1: wert1 = new String("eins");
case 2: wert1 = new String("zwei ");
case 3: wert1 = new String("drei ");
case 4: wert1 = new String("vier ");
case 5: wert1 = new String("fuenf ");
case 6: wert1 = new String("sechs ");
case 7: wert1 = new String("sieben ");
case 8: wert1 = new String("acht ");
case 9: wert1 = new String("neun ");
}
switch (zweiterWert){
case 0: wert2 = new String("null ");
case 1: wert2 = new String("eins");
case 2: wert2 = new String("zwei ");
case 3: wert2 = new String("drei ");
case 4: wert2 = new String("vier ");
case 5: wert2 = new String("fuenf ");
case 6: wert2 = new String("sechs ");
case 7: wert2 = new String("sieben ");
case 8: wert2 = new String("acht ");
case 9: wert2 = new String("neun ");
}
String ergebnis;
switch (ersterWert+zweiterWert){
case 0:
ergebnis = new String("Ergebnis der Addition ist: ") + wert1 + new String(" plus ") + wert2 + new String("ergibt: Null");
return (ergebnis);
break;
case 1:
ergebnis = new String("Ergebnis der Addition ist: ") + wert1 + new String(" plus ") + wert2 + new String("ergibt: Eins");
return (ergebnis);
break;
case 2:
ergebnis = new String("Ergebnis der Addition ist: ") + wert1 + new String(" plus ") + wert2 + new String("ergibt: Zwei");
return (ergebnis);
break;
case 3:
ergebnis = new String("Ergebnis der Addition ist: ") + wert1 + new String(" plus ") + wert2 + new String("ergibt: Drei");
return (ergebnis);
break;
case 4:
ergebnis = new String("Ergebnis der Addition ist: ") + wert1 + new String(" plus ") + wert2 + new String("ergibt: Vier");
return (ergebnis);
break;
case 5:
ergebnis = new String("Ergebnis der Addition ist: ") + wert1 + new String(" plus ") + wert2 + new String("ergibt: Fuenf");
return (ergebnis);
break;
case 6:
ergebnis = new String("Ergebnis der Addition ist: ") + wert1 + new String(" plus ") + wert2 + new String("ergibt: Sechs");
return (ergebnis);
break;
case 7:
ergebnis = new String("Ergebnis der Addition ist: ") + wert1 + new String(" plus ") + wert2 + new String("ergibt: Sieben");
return (ergebnis);
break;
case 8:
ergebnis = new String("Ergebnis der Addition ist: ") + wert1 + new String(" plus ") + wert2 + new String("ergibt: Acht");
return (ergebnis);
break;
case 9:
ergebnis = new String("Ergebnis der Addition ist: ") + wert1 + new String(" plus ") + wert2 + new String("ergibt: Neun");
return (ergebnis);
break;
case 10:
ergebnis = new String("Ergebnis der Addition ist: ") + wert1 + new String(" plus ") + wert2 + new String("ergibt: Zehn");
return (ergebnis);
break;
case 11:
ergebnis = new String("Ergebnis der Addition ist: ") + wert1 + new String(" plus ") + wert2 + new String("ergibt: Elf");
return (ergebnis);
break;
case 12:
ergebnis = new String("Ergebnis der Addition ist: ") + wert1 + new String(" plus ") + wert2 + new String("ergibt: Zwölf");
return (ergebnis);
break;
case 13:
ergebnis = new String("Ergebnis der Addition ist: ") + wert1 + new String(" plus ") + wert2 + new String("ergibt: Dreizehn");
return (ergebnis);
break;
case 14:
ergebnis = new String("Ergebnis der Addition ist: ") + wert1 + new String(" plus ") + wert2 + new String("ergibt: Vierzehn");
return (ergebnis);
break;
case 15:
ergebnis = new String("Ergebnis der Addition ist: ") + wert1 + new String(" plus ") + wert2 + new String("ergibt: Fuenfzehn");
return (ergebnis);
break;
case 16:
ergebnis = new String("Ergebnis der Addition ist: ") + wert1 + new String(" plus ") + wert2 + new String("ergibt: Sechszehn");
return (ergebnis);
break;
case 17:
ergebnis = new String("Ergebnis der Addition ist: ") + wert1 + new String(" plus ") + wert2 + new String("ergibt: Siebzehn");
return (ergebnis);
break;
case 18:
ergebnis = new String("Ergebnis der Addition ist: ") + wert1 + new String(" plus ") + wert2 + new String("ergibt: Achtzehn");
return (ergebnis);
break;
default: return("");
}
}
}