Frequently Asked Java Program 19: Java Program to Reverse Position of Words in a String

Problem statement:

Write a Java program to reverse position of words in given string i.e. word at first position in string should be at last position in string.

Input String: You are awesome
Output String: awesome are You

Solution:

It is a very easy program. You just need understanding of splitting a string, array and for loop to traverse string in reverse direction.

Steps to follow:

Step 1: First of all we need to extract words from a given string. Two words are separated by while space. We can use split() method given by String class which splits a string by provided delimiter and returns a String[] of splitted words. For example:

public class SplitString {

	public static void main(String[] args) {
		
		String inputString = "Make Selenium Easy";
		String spliited[] = inputString.split(" ");
		for(int i=0;i<spliited.length;i++)
		{
			System.out.println(spliited[i]);
		}
		
	}
}

Output:
Make
Selenium
Easy

Step 2: Traverse from end to first position and print array content. 

Java Program:

[java]package StringPrograms;

import java.util.Scanner;

public class ReverseStringByPositionOfWords {

/*
* This method splits given string by space delimiter and returns a String
* array.
*/
public static String[] splitStringBySpace(String inputStringToSplit) {
return inputStringToSplit.split(" ");
}

public static void main(String[] args) {

// User input for the string to know length
Scanner sc = new Scanner(System.in);
System.out.println("Please enter the string to reverse each word:");

String userInput = sc.nextLine();

sc.close();

// Split string
String[] splitedString = splitStringBySpace(userInput);

// Output with each word reversed
String desiredString="";

// Reversing word by word and appending
for(int j=splitedString.length-1;j>=0;j–)
{
desiredString= desiredString + splitedString[j] +" ";
}

System.out.println("Original string :"+userInput);

System.out.println("String with reversed words :"+desiredString);
}
}
[/java]

Output:

Hopefully, you got the logic to solve above problem. If you have any doubt, kindly comment.

#HappyCoding

Leave a Reply

Your email address will not be published. Required fields are marked *