# String umdrehen



## StrikeTom (8. Mai 2010)

Hallo Leute, 
ich möchte eine Methode schreiben, welche einen String falschrum ausgibt.
Aber irgendwie funktioniert das nicht so ganz.
Warum?

```
public String turnString(String t)
	{
		char[] c = t.toCharArray();
		int l = c.length;
		int a = 0;
			for(int i = l; i > 0; i--)
			{
				c[a] = c[i];
				a++;
			}
		String s = c.toString();
		return s;
	}
```
Danke im vorraus


----------



## EdelStoff (8. Mai 2010)

Hi,
du hast ein paar kleinere Fehler drin.

Zuerst brauchst du ein zweites char-Array, welches die Buchstaben in der umgedrehten Reihenfolge enthält. Dann beginnt der Index eines Arrays immer bei 0 und um aus einem char Array wieder einen String zu bekommen kannst du einen Konstruktor von String benutzten.


```
public String turnString(String t)
    {
        char[] c = t.toCharArray();
        char[] reverse = new char[c.length];
        int a = 0;
            for(int i = c.length-1; i >= 0; i--)
            {
                reverse[a] = c[i];
                a++;
            }
        String s = new String(reverse);
        return s;
    }
```


----------



## eRaaaa (8. Mai 2010)

Falls das keine Übungsaufgabe war, nur nochmal zur Vervollständigung:

```
public String turnString(String t){
		return new StringBuilder(t).reverse().toString();
	}
```

ginge auch


----------



## godi (8. Mai 2010)

rekursiv gehts auch noch:


```
public static String reverseStringRecursive(String str){
		if (str.length() > 0)
			return reverseStringRecursive(str.substring(1)) + str.substring(0,1);
		else
			return str;
     }
```

godi


----------



## StrikeTom (8. Mai 2010)

Danke!
Funktioniert jetzt


----------

