String umdrehen

StrikeTom

Bekanntes Mitglied
Hallo Leute,
ich möchte eine Methode schreiben, welche einen String falschrum ausgibt.
Aber irgendwie funktioniert das nicht so ganz.
Warum?
Java:
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🙂
 
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.

Java:
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;
    }
 
Falls das keine Übungsaufgabe war, nur nochmal zur Vervollständigung:
Java:
	public String turnString(String t){
		return new StringBuilder(t).reverse().toString();
	}

ginge auch
 
rekursiv gehts auch noch:

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

godi
 

Zurück
Oben