JAVAプログラミング:5人の学生がいて、学生ごとに3科目(国語、数学、英語)の成績があります.
15276 ワード
1 import java.io.FileReader;
2 import java.io.FileWriter;
3 import java.io.IOException;
4 import java.util.Collections;
5 import java.util.Comparator;
6 import java.util.LinkedList;
7 import java.util.Scanner;
8
9 public class Student
10 {
11 double chinese;
12 double math;
13 double english;
14 double sum;
15 String sname;
16
17 public Student ( double chinese, double math, double english, double sum, String sname )
18 {
19 this.chinese = chinese;
20 this.math = math;
21 this.english = english;
22 this.sum = sum;
23 this.sname = sname;
24 }
25
26 @Override
27 public String toString ()
28 {
29 return String.format ("%s\t\t%2$.1f\t\t\t%3$.1f\t\t\t%4$.1f\t\t\t%5$.1f", sname, chinese, math, english, sum);
30 }
31
32 public static void main ( String[] args )
33 {
34 Scanner scanner = new Scanner (System.in);
35 LinkedList list = new LinkedList ();
36 System.out.println (" , :name,30,30,30( ,"https://www.baidu.com/s?wd=%E4%B8%89%E9%97%A8&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YvuhnkuWNnjmvnvnvnv 0 ZwV 5 Hcvrjm 3 rH 6 sPfKWUMw 85 HfYnjn 4 nH 6 sgvPsT 6 K 1 TL0 qnfK 1 TL0 z 5 HD 0 IgF_5 y 9 YIZ 0 lQzqlpA-bmmmmh 7 GGZR 8 mvqVQL 7 dugPYpyq 8 Q 1 DDDDPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPRRRPPPPjfdrHRvP 0"target="_blank"class=" baidu"baidu-highghlidu-highghghght"> )");
37 while (scanner.hasNextLine ())
38 {
39 String line = scanner.nextLine ().trim ();
40 if ("".equals (line))
41 {
42 break;
43 }
44 String[] info = line.split ("\\,");
45 String name = info[0];
46 double chinese = 0;
47 double math = 0;
48 double english = 0;
49 double sum = 0;
50 try
51 {
52 chinese = Double.parseDouble (info[1]);
53 math = Double.parseDouble (info[2]);
54 english = Double.parseDouble (info[3]);
55 sum = chinese + math + english;
56 }
57 catch (Exception e)
58 {
59 System.out.println (" , :");
60 continue;
61 }
62 Student student = new Student (chinese, math, english, sum, name);
63 list.add (student);
64 }
65 scanner.close ();
66 Collections.sort (list, new Comparator ()
67 {
68 @Override
69 public int compare ( Student o1, Student o2 )
70 {
71 if (o1.sum > o2.sum)
72 {
73 return -1;
74 }
75 else if (o1.sum < o2.sum)
76 {
77 return 1;
78 }
79 else
80 {
81 return 0;
82 }
83 }
84 });
85 try
86 {
87 String file = "stu.txt";
88 String line = System.getProperty ("line.separator");
89 FileWriter fw = new FileWriter (file, true);
90 FileReader fr = new FileReader (file);
91 if (fr.read () == -1)
92 {
93 fw.write (" \t\t \t\t \t\t"https://www.baidu.com/s?wd=%E8%8B%B1%E8%AF%AD&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YvuhnkuWNnjmvnvnvnv 0 ZwV 5 Hcvrjm 3 rH 6 sPfKWUMw 85 HfYnjn 4 nH 6 sgvPsT 6 K 1 TL0 qnfK 1 TL0 z 5 HD 0 IgF_5 y 9 YIZ 0 lQzqlpA-bmmmmh 7 GGZR 8 mvqVQL 7 dugPYpyq 8 Q 1 DDDDPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPRRRPPPPjfdrHRvP 0"target="_blank"class=" baidu"baidu-highghlidu-highghghght"> \t\t " + line);
94 }
95 fr.close ();
96 for ( Student student : list )
97 {
98 fw.write (student.toString () + line);
99 fw.flush ();
100 }
101 fw.close ();
102 System.out.println (" .");
103 }
104 catch (IOException e)
105 {}
106 }
107 }
転載先:https://www.cnblogs.com/wslcs/p/4882529.html