Program to demonstrate how to Reverse a String by Word using StringTokenizer and Stack class in Java.
Output of the program :
package com.hubberspot.examples;
import java.util.Stack;
import java.util.StringTokenizer;
public class ReverseWord {
public static void main(String[] args) {
// Create a test String which is input to the program.
String original = "Welcome to Hubberspot.com !!!";
// Pass the String to the StringTokenizer class which will
// break it into tokens seperated by spaces.
StringTokenizer stringTokenizer = new StringTokenizer(original);
// A temp String object to hold the final reversed String by word
String output ="";
// Create a Stack Object. A Stack class is a special collection
// class which stores the Object in the form of LIFO.
// LIFO means Last In First Out. It means whichever object is
// added to the stack last will be removed from the collection
// first. Stack class has methods implemented for this known as
// push and pop.
Stack stack = new Stack();
// Applying while loop over the condition (till StringTokenizer
// has no more elements left which are seperated by tokens.
while(stringTokenizer.hasMoreElements())
{
// StringTokenizer has nextElement method which gets
// us the next string in the class.
output = (String) stringTokenizer.nextElement();
// Stack class push method adds the string to stack
stack.push(output);
}
output = "";
// Till stack is empty we will loop over it
while(!stack.empty())
{
// Stack class pop method will pop one by one
// last element added to the collection.
output = output + stack.pop() + " ";
}
// Printing the string over the console.
System.out.println("\nOriginal String by word = " + original);
System.out.println("\nReversed String by word = " + output);
}
}
Output of the program :
