Learn to write Java program to reverse a String. We will first see how to reverse the string, and then we will also see how to reverse the words in the String.
It’s a common puzzle asked in Java interviews at the beginner level. Let’s memorize these solutions for quick recall.
1. Java Program to Reverse the Characters of a String
We can reverse a string by character easily, using a StringBuilder.reverse()
method.
String blogName = "HowToDoInJava.com";
String reverse = new StringBuilder(string).reverse();
System.out.println("Original String -> " + blogName);
System.out.println("Reverse String -> " + reverse);
The program output:
Original String -> HowToDoInJava.com
Reverse String -> moc.avaJnIoDoTwoH
2. Java Program to Reverse the Words of a String
While reversing string content by words, the most natural way is to use a StringTokenizer
and a Stack
. As you are aware that Stack
is a class that implements an easy-to-use last-in, first-out (LIFO) stack of objects.
String description = "Java technology blog for smart java concepts and coding practices";
// reverse string builder
StringBuilder reverseString = new StringBuilder();
// Put words from String in Stack
Stack<String> myStack = new Stack<>();
StringTokenizer tokenizer = new StringTokenizer(description, " ");
while (tokenizer.hasMoreTokens()) {
myStack.push(tokenizer.nextToken());
}
//Pop each word from stack and append in builder
while (!myStack.empty()) {
reverseString.append(myStack.pop() + " ");
}
System.out.println(reverseString.toString());
The program output:
practices coding and concepts java smart for blog technology Java
Happy Learning !!