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

Tutoriel de base Java

Contrôle de flux Java

Java Tableau

Java Orienté Objet (I)

Java Orienté Objet (II)

Java Orienté Objet (III)

Gestion des exceptions Java

Java Liste (List)

Java Queue (file d'attente)

Java Map de collections

Java Set de collections

Java Entrée Sortie (I/)

Java Reader/Writer

Autres sujets Java

Programme Java utilisant la récursion pour inverser une phrase

Java example summary

Dans ce programme, vous apprendrez à utiliser la récursion circulaire en Java pour inverser la phrase donnée.

Exemple : utilisation de la récursion pour inverser une phrase

public class Reverse {
    public static void main(String[] args) {
        String sentence = "Go work";
        String reversed = reverse(sentence);
        System.out.println("La phrase inversée est : ", + reversed);
    }
    public static String reverse(String sentence)
    {
        if (sentence.isEmpty())
            return sentence;
        return reverse(sentence.substring(1)) + sentence.charAt(0);
    }
}

Lors de l'exécution de ce programme, la sortie est :

La phrase inversée est : krow oG

Dans le programme ci-dessus, nous avons une fonction récursive reverse().

Dans chaque itération, nous utilisons charAt(0) pour ajouter (joindre) le résultat de reverse() suivant au premier caractère de la phrase.

Recursive calls must be made before charAt(), because in this way the last character will start to be added to the left. If you reverse the order, you will get the original sentence.

Finally, we end with an empty sentence, and reverse() returns the reversed sentence.

Execution steps
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 example summary