Write a Java program to Reversing a String using a Stack
The code demonstrates how to reverse a string using a stack in Java. Let's go through the code step by step:
- The code starts with the import statement import java.util.Stack; to import the Stack class from the java.util package.
- The StringReverse class is defined, serving as the entry point of the program.
- In the main method, a string variable named str is declared and initialized with the value "Tutor Joes". This is the original string that we want to reverse.
- A stack object named stack is created using generics, specifying that it will contain characters (Character).
- The System.out.println statement is used to print the original string by concatenating the string "Original String : " with the value of str.
- A foreach loop is used to iterate over each character in the str string. Each character is pushed onto the stack using the push method.
- A StringBuilder object named rev_str is created to store the reversed string.
- A while loop is used to pop characters from the stack until it is empty. Each popped character is appended to the rev_str using the append method.
- The System.out.println statement is used to print the reversed string by concatenating the string "Reversed String : " with the value of rev_str.
Source Code
import java.util.Stack;
public class StringReverse
{
public static void main(String[] args)
{
String str = "Tutor Joes";
Stack<Character> stack = new Stack<>();
System.out.println("Original String : " + str);
// Pushing characters onto the stack
for (char c : str.toCharArray())
{
stack.push(c);
}
// Popping characters from the stack to reverse the string
StringBuilder rev_str = new StringBuilder();
while (!stack.isEmpty())
{
rev_str.append(stack.pop());
}
System.out.println("Reversed String : " + rev_str);
}
}
Output
Original String : Tutor Joes
Reversed String : seoJ rotuT