Hello Folks,
As part of Frequently Asked Java Programs In Interviews For Freshers And Experienced, in this post we will see a Java program to Printing Words In Circular Order From Given Index.
Problem:
Suppose you have below string:
“Make Selenium Easy” Where
-“Make” is at position zero.
-“Selenium” is at first position .
-“Easy” is at second position .
If I say:
-zero, You need to print “Make Selenium Easy”.
-one, you need to print “Selenium Easy Make”.
-two, you need to print “Easy Selenium Make”.
Accept string and position from user.
Java Program:
package MakeSeleniumEasy;
import java.util.Scanner;
public class CircularString {
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
System.out.println("Enter words separated by space:");
String input= sc.nextLine();
System.out.println("Enter position:");
int index=sc.nextInt();
// Splitting input string in to string array
String inputArray[]= input.split(" ");
// validation for acceptable index
// index should be grater than or equal to zero and less than length of array
if(index>=0 && index <inputArray.length)
{
System.out.print("Output: ");
// Printing from given index till last index
for(int i=index;i<inputArray.length;i++)
{
System.out.print(inputArray[i]+" ");
}
// printing from index zero to position-1
for(int k=0;k<index;k++)
{
System.out.print(inputArray[k]+" ");
}
}
else
{
System.out.println("Index is invalid.");
}
}
}
Output:
Enter words separated by space: Make Selenium Easy Enter position: 0 Output: Make Selenium Easy =========================== Enter words separated by space: Make Selenium Easy Enter position: 1 Output: Selenium Easy Make ========================== Enter words separated by space: Make Selenium Easy Enter position: 2 Output: Easy Make Selenium ========================== Enter words separated by space: Make Selenium Easy Enter position: 3 Index is invalid.
Program is self descriptive. I have put required comments as well. If you have any doubt, feel free to comment.
#HappyCoding
Hi Amod,
This program can be done other way also, using do..while loop
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println(“Enter words separated by space:”);
String input = sc.nextLine();
System.out.println(“Enter position:”);
int index = sc.nextInt();
// Splitting input string in to string array
String inputArray[] = input.split(” “);
int len = inputArray.length;
// validation for acceptable index
// index should be grater than or equal to zero and less than length of array
if (index >= 0 && index < len) {
System.out.print("Output: ");
// Printing from given index till last index
int i = index;
do{
System.out.print(inputArray[i%len]+" ");
i++;
i = i % len;
}while(i!=index);
} else {
System.out.println("Index is invalid.");
}
sc.close();
}
I have validated this one and it is also giving the same expected output.
Hi,
Yes logic can be written in multiple ways. Thanks for providing another way.