Java 实例 - 压栈出栈的方法实现字符串反转

Java 实例 Java 实例

Java 压栈出栈的方法实现字符串反转,使用用户自定义的方法 StringReverserThroughStack() 来实现字符串反转

StringReverserThroughStack.java 文件

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 = "www.facesho.com";
        String output;
        StringReverserThroughStack theReverser = new StringReverserThroughStack(input);
        output = theReverser.doRev();
        System.out.println("反转前: " + input);
        System.out.println("反转后: " + 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);
        }
    }
}

以上代码运行输出结果为:

反转前: www.facesho.com
反转后: cc.loohcsc3w.www

Java 实例 Java 实例