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;
}
}
这篇博客演示了如何使用栈来实现输入字符串的单词逆序功能。通过创建一个`StackI`类来处理栈操作,然后在`WordReverse`类中,读取用户输入的字符串,将每个字符压入栈中,再依次弹出字符构造逆序后的单词。程序提供了一个持续输入直到空字符串为止的交互界面。
1021

被折叠的 条评论
为什么被折叠?



