In this blog I am provide you the code for Reverse the string using recursion in java.

import java.io.*;
import java.util.Scanner;
public class RecursionReverse
{
    public static void main(String[] args)
    {
                String val=null;
                Scanner in = new Scanner(System.in);
                System.out.print("Enter String : ");
                val=in.nextLine();
                Reverser r = new Reverser(val);
        System.out.println(r.reverse());
    }
}
class Reverser
{
    char _arr[];
    int _pos;
    StringBuilder _buf;
    public Reverser(String str)
    {
        setString(str);
        init();
    }
    public String reverse()
    {
        init();
        return (doReverse().toString());
    }
    private StringBuilder doReverse()
    {
        int pos = _pos;
        if (pos == _arr.length - 1)
        {
            return (_buf.append(_arr[pos]));
        }        else
        {
            ++_pos;
            return (doReverse().append(_arr[pos]));
        }
    }
    public void setString(String str)
    {
        _arr = str.toCharArray();
    }
    public String getString()
    {
        return (new String(_arr));
    }
    private void init()
    {
        _pos = 0;
        _buf = new StringBuilder(_arr.length);
    }
}

Output:-

  Modified On Sep-18-2014 01:24:18 PM

Leave Comment