Java Program to Cyclically Rotate a Given Array Clockwise by One

In the previous article, we have seen Java Program to Find all the Combination of Four Elements Where Sum of All the Four Elements are Equal to a Specified Number

In this article we are going to see how to cyclically rotate an array clockwise by one using Java Programming Language.

Java Program to Cyclically Rotate a Given Array Clockwise by One

Array is a data structure which stores a fixed size sequential collection of values of single type. Where with every array elements/values memory location is associated. Each array elements have it’s own index where array index starts from 0.

In Array set of variables referenced by a single variable name and it’s array index position. It is also called as a container object which contains elements of similar type.

Declaration of an array:

dataType[] arrayName; (or)                              //Declaring an array
dataType []arrayName; (or)
dataType arr[];

Instantiation of an Array:

arrayName = new datatype[size];                    //Allocating memory to array

Combining both Statements in One:

dataType[] arrayName = new dataType[size] //Declaring and Instantiating array

Initialization of an Array:

arrayName[index-0]= arrayElement1             //Initializing the array

...

arrayName[index-s]= arrayElementS

Combining all Statements in One:

dataType arrayName[ ]={e1,e2,e3};               //declaration, instantiation and initialization

Let’s see different ways to  cyclically rotate an array clockwise by one.

Method-1: Java Program to Cyclically Rotate a Given Array Clockwise by One By Static Initialization of Array Elements

Approach:

  • Declare and initialize an array.
  • Store the last element of the array in a temp variable.
  • Iterate over the array and shift the elements by one place to the right.
  • Store the temp variable at the 0th index.

Program:

public class Main 
{
    public static void main(String[] args) 
    {
        // initializing array
        int[] arr = { 1, 2, 3, 4, 5, 6, 7 };
        System.out.println("The array is : ");
        printArray(arr);
        
        // calling the function
        rotate_by_one(arr);
        
        System.out.println("After rotation the array is : ");
        printArray(arr);
    }

    static void rotate_by_one(int arr[]) 
    {
        // initializing variables
        int temp = arr[arr.length - 1];
        // looping through the array shifting the elements
        for (int i = arr.length - 1; i > 0; i--) 
        {
            arr[i] = arr[i - 1];
        }
        //Storing tempvalue at 0th index of array.
        arr[0] = temp;
    }
    
    //printArray() method to print the array 
    static void printArray(int[] arr) 
    { 
        // printing array 
        for (int i=0; i<arr.length; i++) 
        { 
            System.out.print(arr[i] + " "); 
        } 
        System.out.println("");
    }
}

Output:

The array is : 
1 2 3 4 5 6 7 
After rotation the array is : 
7 1 2 3 4 5 6

Method-2: Java Program to Cyclically Rotate a Given Array Clockwise by One By Dynamic Initialization of Array Elements

Approach:

  • Ask use length of the array.
  • Initialize the array with given size.
  • Ask the user for array elements.
  • Store the last element of the array in a temp variable.
  • Iterate over the array and shift the elements by one place to the right.
  • Store the temp variable at the 0th index

Program:

import java.util.*;

public class Main 
{
    public static void main(String[] args) 
    {
        //Scanner class object created
        Scanner sc = new Scanner(System.in);
        
        // asking user to enter the number of elements
        System.out.println("Enter number of elements in the array : ");
        int n = sc.nextInt();
        
        // initializing the array
        int[] arr = new int[n];
        
        // asking user to enter the elements
        System.out.println("Enter elements of the array : ");
        for (int i = 0; i < n; i++) 
        {
            arr[i] = sc.nextInt();
        }

        System.out.println("The array is : ");
        printArray(arr);
        
        // calling the function
        rotate_by_one(arr);
        
        System.out.println("After rotation the array is : ");
        printArray(arr);
    }

    static void rotate_by_one(int arr[]) 
    {
        // initializing variables
        int temp = arr[arr.length - 1];
        // looping through the array shifting the elements
        for (int i = arr.length - 1; i > 0; i--) 
        {
            arr[i] = arr[i - 1];
        }
        //Storing tempvalue at 0th index of array.
        arr[0] = temp;
    }
    
    //printArray() method to print the array 
    static void printArray(int[] arr) 
    { 
        // printing array 
        for (int i=0; i<arr.length; i++) 
        { 
            System.out.print(arr[i] + " "); 
        } 
        System.out.println("");
    }
}

Output:

Enter number of elements in the array : 
Enter elements of the array : 
The array is : 
1 2 3 4 5 
After rotation the array is : 
5 1 2 3 4

Beginners and experienced programmers can rely on these Best Java Programs Examples and code various basic and complex logics in the Java programming language with ease.

Related Java Programs: