用栈实现字符串反转输出
2011-09-03 16:37
417 查看
用Java实现字符串的反转输出
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class ReverseApp { public static void main(String[] args) { String input,output; InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); try { input = br.readLine(); Reverser r = new Reverser(input); output = r.doRev(); System.out.println("Input:"+input); System.out.println("After reverse:"+output); } catch (IOException e) { e.printStackTrace(); } } } class Reverser { private String input; private String output; public Reverser(String in) { this.input = in; } public String doRev() { int stackSize = this.input.length(); Stack stack = new Stack(stackSize); for(int j=0;j<stackSize;j++) { char c = input.charAt(j); stack.push(c); } output=""; while(!stack.isEmpty()) { output += stack.pop(); } return output; } } class Stack { private int maxSize; private char[] stackArray; private int top; public Stack(int maxSize) { this.maxSize = maxSize; stackArray = new char[maxSize]; this.top = -1; } public boolean isFull(){ return (top==maxSize-1); } public boolean isEmpty() { return(-1==top); } public void push(char x){ if(!isFull()) stackArray[++top] = x; else System.out.println("Stack is full"); } public char peek() {//非空是才能操作 return stackArray[top]; } public char pop() {//非空是才能操作 return stackArray[top--]; } }
相关文章推荐
- 写一个方法,实现字符串的反转,如:输入abc,输出cba
- 实现字符串的反转 输入"abcd" 输出dcba
- 怎么实现字符串的反转,如:输入abc,输出cba
- php实现字符串反转输出的方法
- java实现字符串的反转 (如:输入abcd 输出dcba)见例解
- buctoj-1031 String 和StringBuffer 实现输入字符串反转输出功能
- C语言实现字符串的反转输出
- php实现字符串反转输出的方法
- C/C++面试程序题(一)——字符串反转、链表反转的递归、非递归实现
- java 输入一个数字,反转输出这个数字的值(实现方法)
- 结构体来实现格式化输出字符串
- 简单实现自定义字符串反转函数
- 用C语言实现字符串反转函数strrev的经典方法
- java实现字符串反转
- C#上机 第九周 任务2 实现字符串反转
- 递归实现逆序输出字符串
- 编写高质量代码改善C#程序的157个建议[为类型输出格式化字符串、实现浅拷贝和深拷贝、用dynamic来优化反射]
- Shell中实现字符串反转方法
- 用python实现字符串的反转
- C#中实现字符串反转