学习-Java字符串之字符串、字符数组与字节数组间的使用之单词重新排序
时间: 2024-06-08 09:06:01 浏览: 70
好的,让我们来一步步实现单词重新排序的功能。
首先,我们需要从用户输入获取一个字符串。我们可以使用 `Scanner` 类从控制台读取用户输入。代码如下:
```java
import java.util.Scanner;
public class WordSort {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入一个字符串:");
String str = input.nextLine();
input.close();
// 接下来的代码将在这里编写
}
}
```
接着,我们需要将字符串转换为单词数组。我们可以使用 `split` 方法将字符串按照空格分割成单词,然后存储到一个字符串数组中。代码如下:
```java
String[] words = str.split(" ");
```
接下来,我们需要对单词进行排序。我们可以使用冒泡排序算法,按照字典序对单词进行排序。排序完成后,我们可以将排序后的单词重新组合成一个字符串。代码如下:
```java
for (int i = 0; i < words.length - 1; i++) {
for (int j = 0; j < words.length - i - 1; j++) {
if (words[j].compareTo(words[j + 1]) > 0) {
String temp = words[j];
words[j] = words[j + 1];
words[j + 1] = temp;
}
}
}
String sortedStr = String.join(" ", words);
System.out.println("重新排序后的字符串为:" + sortedStr);
```
完整代码如下:
```java
import java.util.Scanner;
public class WordSort {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入一个字符串:");
String str = input.nextLine();
input.close();
String[] words = str.split(" ");
for (int i = 0; i < words.length - 1; i++) {
for (int j = 0; j < words.length - i - 1; j++) {
if (words[j].compareTo(words[j + 1]) > 0) {
String temp = words[j];
words[j] = words[j + 1];
words[j + 1] = temp;
}
}
}
String sortedStr = String.join(" ", words);
System.out.println("重新排序后的字符串为:" + sortedStr);
}
}
```
现在,我们可以编译并运行程序进行测试了。例如,我们输入以下字符串:
```
hello world java
```
程序将输出以下结果:
```
重新排序后的字符串为:hello java world
```
阅读全文