Java Frage < Softwaretechnik+Pro < Praktische Inform. < Hochschule < Informatik < Vorhilfe
|
Aufgabe | c)Löschen Sie sämtliche Leerzeichen in der korrigierten Zeichenkette ("Das ist ein vollkommen falscher Teststring"), stellen Sie aber sicher,
dass jeder Buchstabe hinter dem gelöschten Leerzeichen ein Großbuchstabe ist (Ergebnis:
"DasIstEinVollkommenFalscherTeststring").
|
Hallo zusammen,
ich hab zur dieser Aufgabe folgenden Code geschrieben:
1: | public static String loeschen(String x)
| 2: | {
| 3: | StringBuffer ergebnis = new StringBuffer();
| 4: | ergebnis.append(x);
| 5: | Character.toUpperCase(ergebnis.charAt(0));
| 6: | int laenge=ergebnis.length();
| 7: | for(int a=0; a<laenge; a++)
| 8: | {
| 9: | if(ergebnis.charAt(a)==' ')
| 10: | {
| 11: | Character.toUpperCase(ergebnis.charAt(a+1));
| 12: | ergebnis.deleteCharAt(a);
| 13: | laenge--;
| 14: | }
| 15: | }
| 16: | return ergebnis.toString();
| 17: | } |
Jedoch funktioniert bei mir irgendwie die toUpper-Funktion nicht. Warum??
Bzw. was muss ich ändern, um dass die die Funktion genau so funktioniert wie sie in der Aufgabe gewünscht ist.
Gruß Tobias
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 12:16 So 03.05.2009 | Autor: | piet.t |
Hallo,
Schauen wir uns doch mal diese Zeile an:
1: | Character.toUpperCase(ergebnis.charAt(a+1));
|
Du nimmst also das Zeichen nach dem Leerzeichen und übergibst es an die Funktion toUpperCase.
An die Funktion wird der primitive Datentyp char übergeben, eine Übergabe erfolgt hier "by Value", das heißt die Funktion bekommt zwar den "Wert" des Zeichens, kann am Original aber keine Veränderung vornehmen.
Den passenden Großbuchstaben gibt die Funktion als Rückgabewert zurück, und der verschwindet bei Deinem Code irgendwo im Nirvana.
Du müsstest also noch dafür sorgen, dass der Rückgabewert von toUpperCase an der apssenden Stelle in ergebnis landet.
Gruß
piet
|
|
|
|
|
Vielen Danke.
Hab nun einfach die betroffene Zeile durch folgenden ersetzt:
ergebnis.setCharAt(a+1, Character.toUpperCase(ergebnis.charAt(a+1)));
Klappt nun alles.
Gruß Tobi
|
|
|
|