# String rekursion



## Dr.Ohm (13. Sep 2010)

Hi Leute,

ich hab wiedermal ein kleines Problem. Ich versuche eine rekursive Methode zu schreiben, der als Parameter ein String übergeben wird. Die Methode soll dann letztendlich den String mit verdoppelten Buchstaben zurrück geben, z.B. wird dann aus JAVA , JJAAVVAA.
Ich hab die Methode schon geschrieben, allerdings liefert sie mir nur Zahlen in dem String. Ich vermute es liegt an den Stringmethoden, allerdings bin ich noch nicht drauf gekommen.

Hier der Code:

```
public String buchstabenVerdoppeln(String string)
  {
      if (string.length() > 0)
         return (string.charAt(0) + string.charAt(0) + this.buchstabenVerdoppeln(string.substring(1)) ) ;
      else
          return("");

  }
```

Vielen Dank schonmal,
Dr.Ohm


----------



## eRaaaa (13. Sep 2010)

ersetze string.charAt(0) z.B. mit String.valueOf(string.charAt(0))


----------



## faetzminator (13. Sep 2010)

Oder verwende einen SB...:

```
public String buchstabenVerdoppeln(String str) {
    StringBuilder sb = new StringBuilder();
    if (!str.isEmpty()) {
        sb.append(str.charAt(0));
        sb.append(str.charAt(0));
        sb.append(buchstabenVerdoppeln(str.substring(1)));
    }
    return sb.toString();
}
```


----------



## Dr.Ohm (13. Sep 2010)

Alles kla, vielen Dank!


----------

