用java编写一个程序,从一个文件中读入单词(即:以空格分隔的字符串),并对单词进行排序,删除重复出现的单词,然后将结果输出到另一个文件中。 【输入形式】 从一个文件sort.in中读入单词。 【输出形式】 对单词进行排序,删除重复出现的单词,然后将结果输出到文件sort.out中。 【输入样例】 假如sort.in文件内容如下: rrr sss aaa bbb ccc ddf aaa dd 【输出样例】 sort.out文件内容为: aaa bbb ccc dd ddf rrr sss 【样例说明】 读入文件sort.in,做适当的排序,并删除重复出现的单词,输出到文件sort.out 【评分标准】 对单词进行排序,删除重复出现的单词,符合此要求得满分
时间: 2023-12-03 10:45:35 浏览: 120
以下是Java代码实现:
```java
import java.io.*;
import java.util.*;
public class SortWords {
public static void main(String[] args) {
try {
// 从sort.in文件中读入单词
BufferedReader reader = new BufferedReader(new FileReader("sort.in"));
String line = reader.readLine();
String[] words = line.split(" ");
reader.close();
// 将单词存储在Set中,自动去重
Set<String> set = new HashSet<>(Arrays.asList(words));
// 将Set转换为数组,并进行排序
String[] sortedWords = set.toArray(new String[0]);
Arrays.sort(sortedWords);
// 将结果输出到sort.out文件中
BufferedWriter writer = new BufferedWriter(new FileWriter("sort.out"));
for (String word : sortedWords) {
writer.write(word + " ");
}
writer.close();
System.out.println("排序完成!");
} catch (IOException e) {
System.out.println("文件读写出错:" + e.getMessage());
}
}
}
```
程序执行过程:
1. 打开文件sort.in,读取其中的单词;
2. 将单词存储在集合Set中,自动去重;
3. 将Set转换为数组,并对数组进行排序;
4. 打开文件sort.out,将结果写入文件中。
注意事项:
1. 文件读写可能会出现异常,需要进行异常处理;
2. 本程序中单词之间以空格分隔,如果有其他分隔符,需要进行相应的修改。
阅读全文