Java翻转字符串中的单词顺序 输入一个字符串,将其中的单词顺序反转,但单词内部的字母顺序不变。单词之间以单个空格分隔,输入字符串开头和结尾可能有多余空格。 输入示例: The sky is bl
时间: 2024-12-18 12:28:07 浏览: 11
java以单词的维度反转字符串(中间的空格不确定,并不可以缺少)
5星 · 资源好评率100%
在Java中,你可以通过以下步骤来翻转字符串中的单词顺序:
1. 首先,我们需要去除输入字符串两端的多余空格并分割成单词数组。可以使用`split()`函数,传入`\s+`作为正则表达式匹配一个或多个空格。
2. 然后创建一个新的StringBuilder,用于存储反转后的单词序列。
3. 接着从单词数组的末尾开始遍历,依次添加到StringBuilder中,并保持每个单词内部的字母顺序不变。
4. 最后,返回StringBuilder转换为字符串的结果。
下面是一个具体的代码实现:
```java
public class Main {
public static String reverseWords(String s) {
// 去除首尾空格并分割成单词数组
String[] words = s.trim().split("\\s+");
// 反转单词数组并将单词添加到StringBuilder
StringBuilder reversed = new StringBuilder();
for (int i = words.length - 1; i >= 0; i--) {
reversed.append(words[i]);
if (i != 0) { // 当前不是最后一个单词,加入空格
reversed.append(" ");
}
}
return reversed.toString();
}
public static void main(String[] args) {
String input = "The sky is blue";
System.out.println(reverseWords(input)); // 输出:blue sky The
}
}
```
阅读全文