比较容易想到的办法:截取字符串就行,遇到非字母就直接阻断,开始下一次单词的截取。最后只需要逆序打印即可。
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNext()) {
String str = in.nextLine();
String s = "";
List<String> list = new ArrayList<>();
for(int i=0;i<str.length();++i){
if(str.charAt(i)>='a'&&str.charAt(i)<='z'||str.charAt(i)>='A'&&str.charAt(i)<='Z'){
s+=str.charAt(i);
}
else {
list.add(s);
s = "";
}
}
if(!s.equals(""))list.add(s);
for(int i=list.size()-1;i>=0;--i){
System.out.print(list.get(i)+" ");
}
}
}
}