</>

Technology

Java Programs

Difficulty

Intermediate

Interview Question

Write a Java program to reverse each word in a sentence individually.

Answer

Reverse Each Word in a String

Java
public class ReverseEachWord {

    public static void main(String[] args) {
        reverseEachWordOfString("Java Concept Of The Day");
        reverseEachWordOfString("Java J2EE JSP Servlets Hibernate Struts");
        reverseEachWordOfString("I am string not reversed");
        reverseEachWordOfString("Reverse Me");
    }

    static void reverseEachWordOfString(String inputString) {
        // Step 1: split by space into individual words
        String[] words = inputString.split(" ");

        String reverseString = "";

        // Step 2: reverse each word individually
        for (int i = 0; i < words.length; i++) {
            String word        = words[i];
            String reverseWord = "";

            // Reverse individual word characters
            for (int j = word.length() - 1; j >= 0; j--) {
                reverseWord = reverseWord + word.charAt(j);
            }

            reverseString = reverseString + reverseWord + " ";
        }

        System.out.println(inputString);
        System.out.println(reverseString);
        System.out.println("---------------------------");
    }
}

Output

CODE
Java Concept Of The Day
avaJ tpecnoC fO ehT yaD
---------------------------
Java J2EE JSP Servlets Hibernate Struts
avaJ EE2J PSJ stelvreS etanrebiH struts
---------------------------
I am string not reversed
I ma gnirts ton desrever
---------------------------
Reverse Me
esreveR eM
---------------------------

Cleaner Version Using StringBuilder

Java
public static String reverseEachWord(String sentence) {
    String[] words = sentence.split(" ");
    StringBuilder result = new StringBuilder();

    for (String word : words) {
        result.append(new StringBuilder(word).reverse());
        result.append(" ");
    }

    return result.toString().trim();
}

System.out.println(reverseEachWord("Hello World"));       // olleH dlroW
System.out.println(reverseEachWord("Selenium Testing"));  // muineLeS gnitseT

Three Different "Reverse" Operations Compared

Java
String s = "Java Selenium Testing";

// 1. Reverse entire string (characters)
new StringBuilder(s).reverse()
// → "gnitseT muineLeS avaJ"

// 2. Reverse each word (keep word order)
reverseEachWord(s)
// → "avaJ muineLeS gnitseT"

// 3. Reverse word order (keep characters in each word)
String[] words = s.split(" ");
Collections.reverse(Arrays.asList(words));
String.join(" ", words)
// → "Testing Selenium Java"

Follow AutomateQA