package chapter4;
import java.util.Scanner;
public class WordReverse {
/**
* @单词逆序
*/
public static void main(String[] args) {
String input,output;
while(true){
System.out.print("input some string:");
System.out.flush();
Scanner sc = new Scanner(System.in);
input = sc.nextLine();
if(input.equals(""))
break;
Reverse theReverse = new Reverse(input);
output = theReverse.doRev();
System.out.println(output);
}
}
}
class StackI{
private int maxSize;
private char[] stackArray;
private int top;
public StackI(int maxSize){
this.maxSize = maxSize;
stackArray = new char[this.maxSize];
top=-1;
}
public void push(char value){
stackArray[++top] = value;
}
public char pop(){
return stackArray[top--];
}
public char peek(){
return stackArray[top];
}
public boolean isEmpty(){
return (top==-1);
}
}
class Reverse{
private String input;
private String output;
public Reverse(String in){
input = in;
}
public String doRev(){
int maxSize = input.length();
StackI theStack = new StackI(maxSize);
for(int i=0;i<input.length();i++){
theStack.push(input.charAt(i));
}
output = "";
while(!theStack.isEmpty()){
output=output+theStack.pop();
}
return output;
}
}