I am not so sure what to make of the assignment's hint "if speed is important to you, the first thing you would want to change is to use a StringBuffer as temporary storage". I just also experimented with StringBuffer, then, which worked fine, too. But whether or how the program is speed up this way I cannot distinguish. Any suggestions? thanks. Juliane
Juliane, Take a look at this discussion, especially the part at the end where Marilyn suggests reading the source code for the String class. When I read the source code, the difference between String and StringBuffer started making sense. Also this post on optimization.