package test; /* 单词逆序 */ public class ReverseWord { public String reverse(String word) { Character[] cArray =new Character[word.length()] ; TStack<Character> cStack =new TStack<Character>(cArray); //逐个将字符数组元素入栈 for(int i=0;i<word.length();i++) { char ch =word.charAt(i); cStack.push(ch); } //cStack.show(); //将字符逐个出栈 char[] reverseArray =new char[word.length()] ; for(int i=0;i<word.length();i++) { char ch =cStack.pop(); reverseArray[i] = ch; } String reverseWord =new String(reverseArray); return reverseWord; } public static void main(String[] args) { ReverseWord reverse =new ReverseWord(); String back =reverse.reverse("123456789"); System.out.println(back); } } Tstack.java public class TStack<T> { private int top; private T[] stck; public TStack(T[] stck) { this.stck = stck; top = -1; } public void push(T item) { if(top==stck.length) { System.out.println("堆栈已满"); } else { stck[++top] = item ; } } public boolean isEmpty() { return (top ==-1); } public T pop() { if(isEmpty()) { System.out.println("堆栈为空!"); throw new ArrayIndexOutOfBoundsException(); } return stck[top--]; } public void show() { for(T item:stck) { System.out.print(item+"->"); } } public T peek() { if(!isEmpty()) return stck[top]; return null; } public static void main(String[] args) { Integer[] arry = new Integer[10]; TStack<Integer> stack =new TStack<Integer>(arry); for(int i =0;i<10;i++) stack.push(i); stack.show(); } }