1、完整题目
描述
将一个英文语句以单词为单位逆序排放。例如"I am a boy",逆序排放后为"boy a am I"
所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符
数据范围:输入的字符串长度满足 1≤n≤1000
注意本题有多组输入
输入描述:
输入一个英文语句,每个单词用空格隔开。保证输入只包含空格和字母。
输出描述:
得到逆序的句子
示例1
输入:I am a boy
输出:boy a am I
示例2
输入:nowcoder
输出:nowcoder
2、Java代码
- trim() 方法:去除字符串首尾的空格;
- split() 方法:按照指定分隔符来把字符串且分为字符串数组,默认分隔符为空格;
- 采用 StringBuilder 类来操作有长度变化需求的字符串,可提升效率。
java
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNextLine()) { // 注意 while 处理多个 case
StringBuilder sb = new StringBuilder();
String[] arr = in.nextLine().trim().split(" ");
for(int i=arr.length-1; i>=0; i--){
sb.append(" ").append(arr[i].trim());
}
System.out.println(sb.toString().trim());
}
}
}