# Doppelte Buchstaben löschen - letztes Wort macht er nicht



## JV_2010 (11. Nov 2013)

Hi,

dieser Code soll alle doppelt oder mehrfach hintereinander vorkommenden Chars löschen...funzt soweit gut. Wenn jedoch das letzte Wort zum beispiel hier "Tessst" hinten steht, macht er nicht das was er sollte. Vielleicht hat einer ein geschultes Auge und erkennt den Fehler sofort. Wäre Dankbar um jede Hilfe. 


```
//Es sollen alle doppelten Buchstaben aus dem String gelöscht werden
		
String stringWithDoubleChars = "Susanne und Hannnnes hatten grossen Spass in     Bottenbach. Sie wolllllten ins Kino doch Bottttenbach hatte keins! Tessst";
		
		StringBuilder myString = new StringBuilder(stringWithDoubleChars);
		int deletedChars = 0;
		
		for(int i=0; i<myString.length() - deletedChars; i++)
		{
			while (myString.charAt(i) == myString.charAt(i+1))
			{
				myString.deleteCharAt(i);	// Dann lösche das Zeichen das doppelt ist!					
				deletedChars++;	
			}
		}		
				
			
			String myStringWithoutDoubleChars = myString.toString();
			System.out.println("Ausgabe: " + myStringWithoutDoubleChars);
		}
```


*Und das gibt die Konsole aus:*


```
Ausgabe: Susane und Hanes haten grosen Spas in Botenbach. Sie wolten ins Kino doch Botenbach hate keins! Tessst
```

Wie man sieht machte er alle Wörter bis auf "Tessst" (im Prinzip alle wörter die doppelte buchstaben haben und ganz hintenstehen.)


----------



## Naaram (11. Nov 2013)

Der Algorithmus macht so keinen Sinn. Richtiger Algorithmus:

Man erstellt einen neuen StringBuilder. Dann geht man den Ursprungsstring Buchstabenweise durch und kopiert den jeweiligen Buchstaben nur, wenn es nicht der gleiche ist, wie der vorhergehende.


----------



## JV_2010 (11. Nov 2013)

ok Danke. werde daran arbeiten


----------

