编写一个程序,将一个字符串中的单词逆序输出(例如,"hello world how are you" 输出为 "you are how world hel lo")。
时间: 2024-11-09 09:30:56 浏览: 12
C++输入一个字符串,把其中的字符按照逆序输出的两种方法解析
要编写一个Java程序,将字符串中的单词逆序输出,你可以按照以下步骤操作:
1. 首先,你需要将字符串按空格分割成单词数组(word[])。
2. 然后,创建一个新的StringBuilder,用于存储逆序后的单词。
3. 使用两个指针,一个从单词数组的末尾开始(reverseIndex),另一个指向数组开头(startIndex = word.length - 1)。
4. 当`startIndex >= 0`时,循环执行以下操作:
a. 将当前位置的单词添加到StringBuilder中。
b. 两个指针都向中间移动一位(`reverseIndex--`, `startIndex--`)。
5. 最后,返回StringBuilder的内容作为结果。
下面是相应的Java代码示例:
```java
public class WordReverser {
public static String reverseWords(String input) {
if (input == null || input.isEmpty()) {
return "";
}
// Step 1: Split the string into words
String[] words = input.split(" ");
// Step 2: Create a StringBuilder for reversed words
StringBuilder reversed = new StringBuilder();
// Step 3 & 4: Reverse the words in the array
int startIndex = words.length - 1, endIndex = 0;
while (startIndex >= 0) {
reversed.append(words[startIndex]);
if (endIndex != startIndex) {
reversed.append(' ');
}
endIndex++;
startIndex--;
}
// Step 5: Return the reversed string
return reversed.toString();
}
public static void main(String[] args) {
String input = "hello world how are you";
System.out.println(reverseWords(input)); // Output: "you are how world hello"
}
}
```
阅读全文