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

参考代码:

java 复制代码
import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import java.util.Scanner;

import java.util.Set;

import java.util.TreeSet;

public class Main {

public static void main(String[] args) throws IOException {

BufferedReader ifile = new BufferedReader(new FileReader("sort.in"));

BufferedWriter ofile = new BufferedWriter(new FileWriter("sort.out"));

Set<String> words = new TreeSet<String>();

Scanner sc = new Scanner(System.in);

String s;

int flag=0;

String word="";

while((s=ifile.readLine())!=null) {

s = s.toLowerCase();

for(int i=0;i<s.length();i++) {

if(Character.isLowerCase(s.charAt(i))) {

word+=(s.charAt(i)+"");

flag=1;

}

else if(flag==1) {

words.add(word);

word="";

flag=0;

}

}

if(flag==1) {words.add(word);}

}

for(String ch:words) {

ofile.write(ch+" ");

}

ofile.close();

ifile.close();

sc.close();

}

}
相关推荐
岁岁种桃花儿1 分钟前
kubenetes从入门到上天系列第二十六篇:Kubernetes的Istio服务网格实战
java·kubernetes·istio
JavaEdge.3 分钟前
openclaw 本地部署实战:含网关启动 + 本地模型接入完整步骤
java·openclaw
loserwang4 分钟前
Fluss#1386: 从日志恢复中的 OutOfOrder 来看 LEO、HW 与 Checkpoint 的区别
java·后端
毕设源码-邱学长4 分钟前
【开题答辩全过程】以 咖啡馆管理系统的设计与实现为例,包含答辩的问题和答案
java
NGC_661110 分钟前
JDK1.7 与 JDK1.8 ConcurrentHashMap:从分段锁到桶级锁的进化
java·开发语言
大黄说说12 分钟前
PHP 数组 vs SPL 数据结构:队列与栈场景下的性能对决
开发语言·数据结构·php
leaves falling18 分钟前
C++类和对象(3)(初始化列表,类型转换,static成员,友元)
java·开发语言·c++
宵时待雨19 分钟前
C++笔记归纳15:封装map & set
开发语言·数据结构·c++·笔记·算法
色空大师21 分钟前
【网站开发-java】
java·linux·服务器·开发语言·网站·搭建网站
于先生吖22 分钟前
远程考试系统搭建 JAVA 国际版源码与多国语言集成方案
java·开发语言