English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java Grundlagen教程

Java Flow Control

Java Array

Java objektorientiert (I)

Java objektorientiert (II)

Java objektorientiert (III)

Java Ausnahmenbehandlung

Java Liste (List)

Java Queue (Warteschlange)

Java Map-Kollektion

Java Set-Kollektion

Java Ein- und Ausgabe (I/O)

Java Reader/Writer

Andere Themen von Java

Java-Programm verwendet Rekursion, um einen Satz umzukehren

Java Beispiele大全

In diesem Programm lernen Sie, wie man in Java rekursiv durchläuft, um den gegebenen Satz umzukehren.

Beispiel: Verwenden Sie Rekursion, um einen Satz umzukehren

public class Reverse {
    public static void main(String[] args) {
        String sentence = "Go work";
        String reversed = reverse(sentence);
        System.out.println("Der umgekehrte Satz ist: ", + reversed);
    }
    public static String reverse(String sentence)
    {
        if (sentence.isEmpty())
            return sentence;
        return reverse(sentence.substring(1)) + sentence.charAt(0);
    }
}

Wenn das Programm ausgeführt wird, lautet die Ausgabe:

Der umgekehrte Satz ist: krow oG

Im obigen Programm haben wir eine rekursive Funktion reverse().

In jeder Iteration verwenden wir charAt(0), um das Ergebnis von reverse() als ersten Buchstaben des Satzes hinzuzufügen (zu verbinden).

Die rekursiven Aufrufe müssen vor charAt() erfolgen, da der letzte Buchstabe dann links hinzugefügt wird. Wenn Sie die Reihenfolge umkehren, erhalten Sie den ursprünglichen Satz zurück.

Schließlich enden wir mit einem leeren Satz, reverse() gibt die umgekehrte Phrase zurück.

Ausführungsschritte
Iterationreverse()substring()reversedString
1reverse("Go work")"o Work"result + "G"
2reverse("o Work")" Work"result + "o" + "G"
3reverse(" Work")"Work"result + " " + "o" + "G"
4reverse("Work")"ork"result + "W" + " " + "o" + "G"
5reverse("ork")"rk"result + "o" + "W" + " " + "o" + "G"
6reverse("rk")"k"result + "r" + "o" + "W" + " " + "o" + "G"
7reverse("k")""result + "k" + "r" + "o" + "W" + " " + "o" + "G"
Finalreverse("")-"" + "k" + "r" + "o" + "W" + " " + "o" + "G" = "kroW oG"

Java Beispiele大全