主页 > IT业界  > 

Java单词排序

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

参考代码:

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

标签:

Java单词排序由讯客互联IT业界栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Java单词排序