Mega Code Archive

 
Categories / Java / Collections Data Structure
 

String Reverser Through Stack

import java.io.IOException; public class StringReverserThroughStack {   private String input;    private String output;   public StringReverserThroughStack(String in) {     input = in;   }   public String doRev() {     int stackSize = input.length();      Stack theStack = new Stack(stackSize);      for (int i = 0; i < input.length(); i++) {       char ch = input.charAt(i);        theStack.push(ch);      }     output = "";     while (!theStack.isEmpty()) {       char ch = theStack.pop();        output = output + ch;      }     return output;   }   public static void main(String[] args) throws IOException {     String input = "Java Source and Support";     String output;     StringReverserThroughStack theReverser = new StringReverserThroughStack(input);     output = theReverser.doRev();     System.out.println("Reversed: " + output);   }   class Stack {     private int maxSize;        private char[] stackArray;        private int top;        public Stack(int max) {       maxSize = max;       stackArray = new char[maxSize];       top = -1;     }        public void push(char j) {       stackArray[++top] = j;     }        public char pop() {       return stackArray[top--];     }        public char peek() {       return stackArray[top];     }        public boolean isEmpty() {       return (top == -1);     }      } }