分析:
创建一个学生类: 姓名,语文成绩(chineseScore),数学成绩(mathScore),英语成绩(englishScore)
因为要排序,所以需要选择TreeSet进行存储学生对象
键盘录入学生信息,把学生信息封装成一个学生对象,在把学生对象添加到集合中
创建一个高效的字符输出流对象
遍历集合,把学生的信息写入到指定的文本文件中
释放资源
代码:
public class Test {
public static void main(String[] args) throws IOException {
//因为要按照总分由高到低存入,因此new TreeSet更直接
TreeSet<Student> treeSet = new TreeSet<>(new Comparator<Student>() {
@Override
public int compare(Student o1, Student o2) {
int num=o2.sum()-o1.sum();
int num1=num==0?o2.getChinese()-o1.getChinese():num;
int num2=num1==0?o2.getMath()-o1.getMath():num1;
int num3=num2==0?o2.getEnglish()-o1.getEnglish():num2;
return num3;
}
});
//录入成绩
for (int i = 1; i <= 3; i++) {
Scanner sc =