编写一个函数,将字符串中的每个单词的倒序输出,字符串中以空格分割各个单词,如果碰到数字则跳过。
接口设计及说明:public voidvConvertMsg(String sInputStr, StringBuffer OutputStr)
输入
String
输出
String
样例输入
He is a man no12 3456
样例输出
eH si a nam on12 3456
提示
地区
南京研究所
产品线
公共
阶段
招聘
难度
1级
package com.compare;
import java.util.Stack;
public class ReverseChar {
/**
* @param args
*/
public static void main(String[] args) {
ReverseChar t=new ReverseChar();
// TODO Auto-generated method stub
StringBuffer OutputStr=new StringBuffer("");
t.vConvertMsg("He is a man no12 3456",OutputStr);
System.out.println(OutputStr);
}
public void vConvertMsg(String sInputStr,StringBuffer OutputStr){
Stack<Character> stack=new Stack<Character>();
Stack<Character> word=new Stack<Character>();
for(int i=sInputStr.length()-1;i>=0;i--){
char c=sInputStr.charAt(i);
stack.push(c);
}
System.out.println(stack);
while(!stack.isEmpty()){
char c=stack.pop();
if(Character.isLetter(c)){
word.push(c);
}else if(Character.isDigit(c)){
while(!word.isEmpty()){
OutputStr.append(String.valueOf(word.pop()));
}
OutputStr.append(String.valueOf(c));
}else{
while(!word.isEmpty()){
OutputStr.append(String.valueOf(word.pop()));
}
OutputStr.append(String.valueOf(c));
}
}
}
}