Java >> Java tutorial >  >> Tag >> String

Java-program til at vende en streng ved hjælp af rekursion

I denne øvelse lærer vi, hvordan man vender en streng ved hjælp af en rekursiv funktion. En rekursiv funktion er en funktion, der kalder sig selv. Men før du går videre, hvis du ikke er bekendt med begrebet streng, så tjek artiklen om Strings i Java.

Input: Indtast strengen:streng

Output: Omvendt af strengen er:gnirtS

Program 1:Vend en streng ved hjælp af rekursion

I dette program vil vi se, hvordan man vender en streng ved hjælp af rekursion med en brugerdefineret streng. Her vil vi bede brugeren om at indtaste strengen, og så vil vi vende denne streng ved at kalde en funktion rekursivt og til sidst udskrive den omvendte streng.

Algorithme

  1. Start
  2. Erklær en streng.
  3. Bed brugeren om at initialisere strengen.
  4. Kald en rekursiv funktion for at vende strengen.
  5. Hvis strengen er nul eller består af et enkelt tegn, så udskriv den indtastede streng.
  6. Hvis strengen består af flere tegn, skal du kalde funktionen rekursivt for at vende strengen.
  7. Udskriv den omvendte streng.
  8. Stop.

Nedenfor er koden til det samme i Java-sproget.

/*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); 
    }     
}


Indtast strengen :
hej verden
Det modsatte af den indtastede streng :
dlrow olleh

Program 2:Vend en streng ved hjælp af rekursion

I dette program vil vi se, hvordan man vender en streng ved hjælp af rekursion med en brugerdefineret streng. Her vil vi bede brugeren om at indtaste strengen, og så vil vi vende den streng ved at kalde en funktion rekursivt og returnere den omvendte streng. Til sidst vises den omvendte streng.

Algorithme

  1. Start
  2. Erklær en streng.
  3. Initialiser den.
  4. Kald en rekursiv funktion for at vende strengen.
  5. Hvis strengen er tom, dvs. hvis strengen er tom, returner den samme streng.
  6. Hvis strengen har flere tegn, skal du kalde funktionen rekursivt for at vende strengen.
  7. Returner den omvendte streng.
  8. Udskriv den omvendte streng.
  9. Stop.

Nedenfor er koden til det samme i Java-sproget.

/*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);
    }
}


Enter the String:World
Det modsatte af den indtastede String:dlroW

Program 3:Vend en streng ved hjælp af rekursion

I dette program vil vi se, hvordan man vender en streng ved hjælp af rekursion med en foruddefineret streng.

Algorithme

  1. Start
  2. Erklær en streng.
  3. Initialiser den.
  4. Kald en rekursiv funktion for at vende strengen.
  5. Hvis strengen er tom, dvs. hvis strengen er tom, returner den samme streng.
  6. Hvis strengen har flere tegn, skal du kalde funktionen rekursivt for at vende strengen.
  7. Udskriv den omvendte streng.
  8. Stop.

Nedenfor er koden til det samme i Java-sproget.

/*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);
    }
}


Den indtastede streng er:Omvendt streng
Den omvendte streng er:gnirtS esreveR


Java tag