写一个 Java 程序,命名为“ReverseStrjava”,实现如下功能, 控制台输入一个字符串s,请你反转字符串中单词的顺序。单词是由非空格字符组成的字符串,字符串中每个单词间使用一个或多个空格隔开。返回单词顺序颠倒且单词之间用单个空格连接的结果字符串
时间: 2024-12-22 15:16:54 浏览: 8
当然,我可以帮你编写一个简单的 Java 程序来实现这个功能。这里是一个使用 `String` 的内置方法来分割和组合单词的示例:
```java
import java.util.Scanner;
public class ReverseWords {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String input = scanner.nextLine();
scanner.close();
// 分割输入字符串为单词数组,然后反转数组并重新组合成字符串
String reversedString = reverseWords(input);
System.out.println("反转单词后的结果: " + reversedString);
}
public static String reverseWords(String s) {
String[] words = s.split("\\s+");
StringBuilder reversedStringBuilder = new StringBuilder();
for (int i = words.length - 1; i >= 0; i--) {
reversedStringBuilder.append(words[i]);
if (i != 0) { // 如果不是第一个单词,在末尾添加一个空格
reversedStringBuilder.append(" ");
}
}
return reversedStringBuilder.toString();
}
}
```
在这个程序中,我们首先使用 `Scanner` 类从控制台读取用户的输入。接着调用 `reverseWords` 方法,该方法接收输入的字符串,使用正则表达式 `"\\s+"`(匹配一个或多个空格)将其拆分为单词数组。然后,我们遍历数组并将单词逆序添加到 `StringBuilder` 中,确保每个单词之间只有一个空格。
运行此程序时,按照提示输入一个包含空格分隔的字符串,你会看到单词顺序被成功反转后输出的结果。
阅读全文