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:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
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:
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); } }
Output:
Hopefully, you got the logic to solve above problem. If you have any doubt, kindly comment.
#HappyCoding
Author: Amod Mahajan
A software Tester who is paid to judge products developed by others. Currently getting paid in American Dollars. Writing technical posts and creating YouTube videos are my hobbies.