Java >> Tutoriel Java >  >> Tag >> String

Programme Java pour inverser une chaîne à l'aide de la récursivité

Dans ce tutoriel, nous allons apprendre à inverser une chaîne à l'aide d'une fonction récursive. Une fonction récursive est une fonction qui s'appelle elle-même. Mais avant d'aller plus loin, si vous n'êtes pas familier avec le concept de chaîne, consultez l'article sur les chaînes en Java.

Entrée : Saisissez la chaîne :chaîne

Sortie : L'inverse de la chaîne est :gnirtS

Programme 1 :inverser une chaîne à l'aide de la récursivité

Dans ce programme, nous verrons comment inverser une chaîne en utilisant la récursivité avec une chaîne définie par l'utilisateur. Ici, nous demanderons à l'utilisateur d'entrer la chaîne, puis nous inverserons cette chaîne en appelant une fonction de manière récursive et enfin nous imprimerons la chaîne inversée.

Algorithme

  1. Commencer
  2. Déclarez une chaîne.
  3. Demandez à l'utilisateur d'initialiser la chaîne.
  4. Appelez une fonction récursive pour inverser la chaîne.
  5. Si la chaîne est nulle ou se compose d'un seul caractère, imprimez la chaîne saisie.
  6. Si la chaîne se compose de plusieurs caractères, appelez la fonction de manière récursive pour inverser la chaîne.
  7. Imprimez la chaîne inversée.
  8. Arrêtez.

Vous trouverez ci-dessous le code correspondant en langage Java.

/*Java Program to reverse a string using Recursive Function*/
import java.util.Scanner;
public class Main
{
    //Recursive function that reverses a string
    static void reverse(String str) 
    { 
        //If the string is null or consists of single character
        //then print the entered string 
        if ((str==null)||(str.length() <= 1)) 
           System.out.println(str); 
        else
        { 
            //If string consists of multiple strings
            System.out.print(str.charAt(str.length()-1)); 
            //Call the function recursively to reverse the string
            reverse(str.substring(0,str.length()-1)); 
        }         
    }   
    // Driver Code 
    public static void main(String args[]) 
    { 
        //Take input from the user
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter the String :");
        String str = sc.nextLine();   //Input the string
        //Call a recursive function to reverse the string
        System.out.println("The reverse of the entered the String :");
        reverse(str); 
    }     
}


Saisissez la chaîne :
hello world
L'inverse de la chaîne saisie :
dlrow olleh

Programme 2 :inverser une chaîne à l'aide de la récursivité

Dans ce programme, nous verrons comment inverser une chaîne en utilisant la récursivité avec une chaîne définie par l'utilisateur. Ici, nous demanderons à l'utilisateur d'entrer la chaîne, puis nous inverserons cette chaîne en appelant une fonction de manière récursive et renverrons la chaîne inversée. Enfin, la chaîne inversée s'affiche.

Algorithme

  1. Commencer
  2. Déclarez une chaîne.
  3. Initialisez-le.
  4. Appelez une fonction récursive pour inverser la chaîne.
  5. Si la chaîne est vide, c'est-à-dire si la chaîne est vide, renvoie la même chaîne.
  6. Si la chaîne comporte plusieurs caractères, appelez la fonction de manière récursive pour inverser la chaîne.
  7. Renvoyer la chaîne inversée.
  8. Imprimez la chaîne inversée.
  9. Arrêtez.

Vous trouverez ci-dessous le code correspondant en langage Java.

/*Java Program to reverse a string using Recursive Function*/
import java.util.Scanner;
public class Main
{
    //Driver Code
    public static void main(String[] args) 
    {
        //Take input from the user
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter the String :");
        String str = sc.nextLine();   //Input the string
        //Call a recursive function to reverse the string
        String rev=reverseString(str);
        System.out.println("The reverse of the entered the String :"+rev);
 
    }
    //Recursive Function to Reverse the String
    public static String reverseString(String str)
    {
        //If entered string is empty
        //Return the empty string
        if (str.isEmpty())
            return str;
        //If string consists of multiple character    
        //Call the Function Recursively
        return reverseString(str.substring(1)) + str.charAt(0);
    }
}


Entrez la chaîne :World
L'inverse de la chaîne saisie :dlroW

Programme 3 :inverser une chaîne à l'aide de la récursivité

Dans ce programme, nous verrons comment inverser une chaîne en utilisant la récursivité avec une chaîne prédéfinie.

Algorithme

  1. Commencer
  2. Déclarez une chaîne.
  3. Initialisez-le.
  4. Appelez une fonction récursive pour inverser la chaîne.
  5. Si la chaîne est vide, c'est-à-dire si la chaîne est vide, renvoie la même chaîne.
  6. Si la chaîne comporte plusieurs caractères, appelez la fonction de manière récursive pour inverser la chaîne.
  7. Imprimez la chaîne inversée.
  8. Arrêtez.

Vous trouverez ci-dessous le code correspondant en langage Java.

/*Java Program to reverse a string using Recursive Function*/
public class Main
{
    //Driver Code
    public static void main(String[] args) 
    {
        //Initialize the String
        String str = "Reverse String";
        System.out.println("The entered string is: " + str);
        String rev = reverseString(str);
        System.out.println("The reversed string is: " + rev);
    }
    //Recursive Function to Reverse the String
    public static String reverseString(String str)
    {
        //If entered string is empty
        //Return the empty string
        if (str.isEmpty())
            return str;
        //If string consists of multiple character    
        //Call the Function Recursively
        return reverseString(str.substring(1)) + str.charAt(0);
    }
}


La chaîne saisie est :Reverse String
La chaîne inversée est :gnirtS esreveR


Balise Java