Java-Programm zum Umkehren eines Satzes mithilfe der Rekursion

In diesem Programm lernen Sie, einen bestimmten Satz mithilfe einer rekursiven Schleife in Java umzukehren.

Um dieses Beispiel zu verstehen, sollten Sie die folgenden Java-Programmierthemen kennen:

  • Java-Methoden
  • Java-Rekursion
  • Java String

Beispiel: Umkehren eines Satzes mithilfe der Rekursion

 public class Reverse ( public static void main(String() args) ( String sentence = "Go work"; String reversed = reverse(sentence); System.out.println("The reversed sentence is: " + reversed); ) public static String reverse(String sentence) ( if (sentence.isEmpty()) return sentence; return reverse(sentence.substring(1)) + sentence.charAt(0); ) )

Ausgabe :

 Der umgekehrte Satz lautet: krow oG

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

Bei jeder Iteration addieren (verketten) wir das Ergebnis der nächsten reverse()Funktion zum ersten Zeichen des Satzes mit charAt(0).

Der rekursive Aufruf muss vor dem erfolgen charAt(), da auf diese Weise die letzten Zeichen auf der linken Seite hinzugefügt werden. Wenn Sie die Reihenfolge umkehren, erhalten Sie den ursprünglichen Satz.

Am Ende haben wir einen leeren Satz und geben reverse()den umgekehrten Satz zurück.

Hinweis : Die sentence.substring(1)Methode gibt den Teil des Zeichenfolgensatzes zurück, der von Index 1 bis zum Ende der Zeichenfolge beginnt. Weitere Informationen finden Sie unter Java String substring ().

Ausführungsschritte
Wiederholung umkehren() Teilzeichenfolge () reverseString
1 rückwärts ("Go work") "o Arbeit" Ergebnis + "G"
2 umgekehrt ("o Arbeit") " Arbeit" Ergebnis + "o" + "G"
3 umgekehrt ("Arbeit") "Arbeit" Ergebnis + "" + "o" + "G"
4 umgekehrt ("Arbeit") "Ork" Ergebnis + "W" + "" + "o" + "G"
5 umgekehrt ("ork") "rk" Ergebnis + "o" + "W" + "" + "o" + "G"
6 umgekehrt ("rk") "k" Ergebnis + "r" + "o" + "W" + "+" o "+" G "
7 umgekehrt ("k") "" Ergebnis + "k" + "r" + "o" + "W" + "+" o "+" G "
Finale umkehren("") - - "+" k "+" r "+" o "+" W "+" + "o" + "G" = "kroW oG"

Interessante Beiträge...