使用java编写一个程序,将一个字符串中的所有单词颠倒过来。例如,输入字符串"hello world",输出字符串"world hello"。
时间: 2024-03-08 22:46:47 浏览: 64
好的,这是一个比较简单的字符串处理问题,可以按照以下步骤来实现:
1. 将输入字符串按照空格分割成单词数组。
2. 遍历单词数组,将每个单词反转。
3. 将反转后的单词数组按照空格连接成新的字符串输出。
具体的Java代码如下:
```java
public class ReverseWords {
public static void main(String[] args) {
String input = "hello world";
String output = reverseWords(input);
System.out.println(output); // 输出 "world hello"
}
public static String reverseWords(String input) {
String[] words = input.split(" ");
for (int i = 0; i < words.length; i++) {
words[i] = reverseString(words[i]);
}
return String.join(" ", words);
}
private static String reverseString(String str) {
char[] chars = str.toCharArray();
int i = 0, j = str.length() - 1;
while (i < j) {
char temp = chars[i];
chars[i] = chars[j];
chars[j] = temp;
i++;
j--;
}
return new String(chars);
}
}
```
这个程序的核心是 `reverseWords` 方法,它接受一个字符串参数,返回颠倒后的字符串。在这个方法中,我们首先使用 `split` 方法将输入字符串按照空格分割成单词数组。然后遍历单词数组,对每个单词调用 `reverseString` 方法进行反转。最后使用 `join` 方法将反转后的单词数组按照空格连接成新的字符串返回。
`reverseString` 方法比较简单,就是一个标准的字符串反转算法,使用双指针从两端逐步交换字符即可。
阅读全文