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)的内容做分割.笔者能想到的的只有正则匹配.[^不被包含的内容]这种套路就是匹配不包含所示内容的数据,拿来做分割元素再合适不过了.对代码进行了优化,比之前更稳妥些.