با استفاده از کلاس Stack یک استرینگ را برعکس کنید.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

import java.util.Stack;
public class Main {
  public static void main(String[] args) {
    String input = "This is a sentence";
    char[] charinput = input.toCharArray();
    Stack<String> stack = new Stack<String>();
    for (int i = input.length() - 1; i >= 0; i--) {
      stack.push(String.valueOf(charinput[i]));
    }
    StringBuilder StackPush = new StringBuilder();
    for (int i = 0; i < stack.size(); i++) {
      StackPush.append(stack.get(i));
    }
    System.out.println(StackPush.toString());
  }
}

 

 

 

=========================================================

 

 

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);
    }
  
  }
}