www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Softwaretechnik und Programmierung" - Java Frage
Java Frage < Softwaretechnik+Pro < Praktische Inform. < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Softwaretechnik und Programmierung"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Java Frage: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 18:46 Sa 02.05.2009
Autor: mrfivejunior

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

        
Bezug
Java Frage: Antwort
Status: (Antwort) fertig Status 
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

Bezug
                
Bezug
Java Frage: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 18:18 So 03.05.2009
Autor: mrfivejunior

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

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Softwaretechnik und Programmierung"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]