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();

}

}
相关推荐
cxyxiaokui00112 小时前
JDK 动态代理 vs CGLIB:原理、区别与 Spring AOP 底层揭秘
java·后端·spring
仰泳的熊猫12 小时前
LeetCode:700. 二叉搜索树中的搜索
数据结构·c++·算法·leetcode
代码充电宝12 小时前
LeetCode 算法题【中等】189. 轮转数组
java·算法·leetcode·职场和发展·数组
我命由我1234513 小时前
PDFBox - PDDocument 与 byte 数组、PDF 加密
java·服务器·前端·后端·学习·java-ee·pdf
花哥码天下13 小时前
Oracle下载JDK无需登录
java·开发语言
摇滚侠13 小时前
Spring Boot 3零基础教程,yml语法细节,笔记16
java·spring boot·笔记
wei84406787213 小时前
本地项目第一次推送到gitee上的完整命令
java·android studio
星球奋斗者13 小时前
计算机方向如何才能更好的找到工作?(成长心得)
java·后端·考研·软件工程·改行学it
Jabes.yang13 小时前
互联网大厂Java面试:缓存技术与监控运维的深度探讨
java·面试指南·缓存技术·监控运维
海梨花13 小时前
【八股笔记】SSM
java·开发语言·笔记·后端·面试·框架