Reversing of char array using java

Hi everyone, in this blog post I will writing about reversing a char array using java. This program requires a char array as its input and it will return the reversed version of that char array.

The program which I have written to demonstrate reversing of char array is as follows:

package com.techjourney.methods;

public class ReversingCharArray {
    
    public static void main(String args[])
    {
        char firstArray[] = new char[]{'G','i','l','c','h','r','i','s','t'};
        char secondArray[] = new char[]{'D','r','a','v','i','d'};
        
        System.out.println(" First array before reversing - ");
        System.out.println(firstArray);
        
        System.out.println(" First array after reversing - ");
        charReversal(firstArray);
        System.out.println(firstArray);
        
        System.out.println(" Second array before reversing - ");
        System.out.println(secondArray);
        
        System.out.println(" Second array after reversing - ");
        charReversal(secondArray);
        System.out.println(secondArray);
    }
    
    public static char[] charReversal(char inputArray[])
    {
        if(inputArray==null)
        {
            throw new NullPointerException();
        }
        
        int lengthOfArray = inputArray.length;
        int elementPosition = lengthOfArray-1;
        char tempVariable;
        
        for(int i=0;i<lengthOfArray/2;i++)
        {
            tempVariable=inputArray[i];
            inputArray[i]=inputArray[elementPosition-i];
            inputArray[elementPosition-i] = tempVariable;
        }
        return inputArray;
        
    }    

}

In the above program, the function 'charReversal' reverses the input array. It does the reversing by the following steps:
  • Finds the number of characters in the array and assigns it to variable 'lengthOfArray'.
  • Iterate a loop from 0 to lengthOfArray/2.
  • In the loop interchange the variables between first location and last location using a temp variable.
  • Increment the pointer from first location and decrement the pointer from last location and continue the loop.
The output of the following program is as follows;

 First array before reversing - 
Gilchrist
 First array after reversing - 
tsirhcliG

 Second array before reversing - 
Dravid
 Second array after reversing - 
divarD


The length of arrays have odd as well as even values. This example was taken to demonstrate the program works for all the input values.

I hope everyone understood this program very well. Please do comment if you have any doubts or other queries.

Thank you everyone for reading the post.

Comments

Popular posts from this blog

Difference between "diff" and "sdiff" commands in Unix

Anonymous classes in C++