Dans ce programme, vous apprendrez à inverser une phrase donnée en utilisant une boucle récursive en Java.
Pour comprendre cet exemple, vous devez avoir la connaissance des rubriques de programmation Java suivantes:
- Méthodes Java
 - Récursivité Java
 - Chaîne Java
 
Exemple: inverser une phrase à l'aide de la récursivité
 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); ) )
Sortie :
La phrase inversée est: krow oG
Dans le programme ci-dessus, nous avons une fonction récursive reverse().
À chaque itération, nous ajoutons (concaténons) le résultat de la reverse()fonction suivante au premier caractère de la phrase en utilisant charAt(0).
L'appel récursif doit être avant le charAt(), car de cette façon, les derniers caractères commenceront à s'ajouter sur le côté gauche. Si vous inversez l'ordre, vous vous retrouverez avec la phrase originale.
À la fin, nous nous retrouvons avec une phrase vide et reverse()retourne la phrase inversée.
Remarque : La sentence.substring(1)méthode renvoie la partie de la phrase de chaîne commençant de l'index 1 à la fin de la chaîne. Pour en savoir plus, visitez Java String substring ().
| Itération | sens inverse() | sous-chaîne () | reverseString | 
|---|---|---|---|
| 1 | inverser ("Allez travailler") | "o Travail" | résultat + "G" | 
| 2 | inverser ("o Travail") | " Travail" | résultat + "o" + "G" | 
| 3 | inverser ("Travail") | "Travail" | résultat + "" + "o" + "G" | 
| 4 | inverser ("Travail") | "ork" | résultat + "W" + "" + "o" + "G" | 
| 5 | inverse ("ork") | "rk" | résultat + "o" + "W" + "" + "o" + "G" | 
| 6 | inverse ("rk") | "k" | résultat + "r" + "o" + "W" + "" + "o" + "G" | 
| sept | inverse ("k") | "" | résultat + "k" + "r" + "o" + "W" + "" + "o" + "G" | 
| Final | sens inverse("") | - | "" + "k" + "r" + "o" + "W" + "" + "o" + "G" = "kroW oG" | 








