task1:程序是已经给好的,放到编译器里找出了几处错误就能运行了,运行结果如图:
task2:不知道它这个lab中说的EMAC是什么,只能在eclipese上简单的写了个排序的程序,任务的要求是根据surname排序,不过鉴于surnname是先出现的,简化起见就
没有区分surnname和Given Name,把两个合在一个String里一起排序了。代码如下:
import java.io.*; import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; import java.util.List; class StringComparator<String>implements Comparator<String>{ public int compare(String s1, String s2) { return ((java.lang.String) s1).compareTo((java.lang.String) s2); } }//建立比较器 public class RosterSort { public static void main(String[]args) throws IOException{ File file=new File("C://Users/acer/Desktop/Roster.txt"); BufferedReader reader=new BufferedReader(new FileReader(file)); List<String>b=new ArrayList<String>(); while(reader.ready()){ b.add(reader.readLine()); } reader.close();//读取Roster.txt b.sort(new StringComparator()); BufferedWriter writer=new BufferedWriter(new FileWriter(new File("C://Users/acer/Desktop/SortedRoster.txt"))); for(int i=0;i<b.size();i++){ writer.write(b.get(i)+"\r\n"); } writer.close();//输出排列好的文件 SortedRoster.txt } }
运行结果: