import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNextLine()) {
String inputstr = in.nextLine();
String[] splitstr = inputstr.split("\\s+");
StringBuffer reversestr = new StringBuffer();
for(int i=splitstr.length-1;i>=0;i--){
reversestr.append(splitstr[i]).append(" ");
}
System.out.println(reversestr);
}
}
}先上代码.由于需要保障单词的完整性,不能像之前操作字符串那样直接reverse.笔者使用正则表达式\s+和split方法拆分字符串的单词,获得包含所有内容的字符串数组.由于还需要重新添加空格,故使用StringBuffer追加内容的方式.倒序追加,需要注意for循环的边界条件也要反着写.最终多了1个空格,貌似对输出结果没影响,能通过.使用toString方法强转为字符串后使用trim()方法其实更妥当.

京公网安备 11010502036488号