java读取文件,按总成绩排序(降序),将排序结果,形成一个新文件(超简单)

 1 package homework;
 2 
 3 
 4 public class Student implements Comparable<Student> {
 5        private String xm;
 6        private int cj1,cj2,cj3,zcj;
 7        
 8     public Student() {
 9         
10     }
11     public Student(String xm, int cj1, int cj2, int cj3, int zcj) {
12         this.xm = xm;
13         this.cj1 = cj1;
14         this.cj2 = cj2;
15         this.cj3 = cj3;
16         this.zcj = zcj;
17     }
18     @Override
19     public int compareTo(Student o) {
20         
21         return  o.zcj-this.zcj;
22     }
23     @Override
24     public String toString() {
25         return  xm +"\t"  +cj1+"\t" + cj2+"\t" + cj3 +"\t"+  zcj;
26     }
27     
28        
29 }
 1 package homework;
 2 
 3 import java.io.File;
 4 import java.io.FileNotFoundException;
 5 import java.io.PrintWriter;
 6 import java.util.Scanner;
 7 import java.util.Set;
 8 import java.util.TreeSet;
 9 public class Wenjian {
10 
11     public static void main(String[] args) throws FileNotFoundException {
12         String s1,s2,s3,s4,xm,s5;
13         int score1,score2,score3,sum;
14         String pathname="d:/sk1.txt";
15         File f=new File(pathname);
16         File f2=new File("d:/sk2.txt");        
17         if(!f.exists()){
18             System.out.println("文件不存在!");
19             System.exit(0);
20         }
21         PrintWriter pw=new PrintWriter(f2);
22         Scanner in=new Scanner(f,"UTF-8");
23         s1=in.next();
24         s2=in.next();
25         s3=in.next();
26         s4=in.next();
27         s5=in.next();
28         String out=s1+"\t"+s2+"\t"+s3+"\t"+s4+"\t"+s5;
29         pw.println(out);
30           Set<Student> treeset1=new TreeSet<Student>();
31             Student []stu=new Student[10];/*{
32                 for(int i=0;i<stu.length;++i) {
33                     stu[i]=new Student();
34                 }
35             }*/
36         while(in.hasNext()) {
37             xm=in.next();
38             score1=in.nextInt();
39             score2=in.nextInt();
40             score3=in.nextInt();
41             sum=in.nextInt();
42             int i=0;
43             stu[i]=new Student(xm,score1, score2, score3, sum);
44             treeset1.add(stu[i]);
45             i++;
46         }
47         //pw.println(treeset1);//存在中括号
48         for(Student s:treeset1){
49              pw.println(s.toString());
50         }
51            
52         
53             pw.close();
54             in.close();
55             System.out.println("操作已完成");
56     }
57 
58 }

 

posted @ 2020-12-19 00:06  丁帅帅dss  阅读(610)  评论(0)    收藏  举报