import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String inputstr = null;
        String outputstr = null;
        while (in.hasNextLine()) { 
            inputstr = in.nextLine();

            String[] splitstr = inputstr.split("[^a-zA-Z]");
            StringBuffer reversestr = new StringBuffer();

            for(int i=splitstr.length-1;i>=0;i--){
                reversestr.append(splitstr[i]).append(" ");
            }

            outputstr = reversestr.toString().trim();
            System.out.println(outputstr);
        }
    }
}

先上代码.和 # HJ106 字符逆序 # 这道题差不多,区别在于本题要求使用除了26个字母大小写(也就是a-z和A-Z)的内容做分割.笔者能想到的的只有正则匹配.[^不被包含的内容]这种套路就是匹配不包含所示内容的数据,拿来做分割元素再合适不过了.对代码进行了优化,比之前更稳妥些.