package cn.itcast_05;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Comparator;
import java.util.Scanner;
import java.util.TreeSet;
/*
* 键盘录入学生信息(姓名 语文成绩,数学成绩,英语成绩)按照总分排序并写入文本
*
* 分析:
* A:创建学生类
* B:创建集合对象
* TreeSet<Student>
* C:键盘录入数据存储到集合中
* D:遍历集合,把数据写到文本文件
*
*/
public class 键盘录入学生信息按照总分排序并写入文本 {
public static void main(String[] args) throws IOException {
//创建集合对象
TreeSet<Student> ts = new TreeSet<Student>(new Comparator<Student>() {
@Override
public int compare(Student s1, Student s2) {
int num = s2.sum() - s1.sum();
int num2 = num == 0 ? s1.getYun() - s2.getYun() : num;
int num3 = num2 ==0 ? s1.getMath() - s2.getMath() : num2;
int num4 = num3 ==0 ? s1.getEnglish() - s2.getEnglish() : num3;
int num5 = num4 == 0 ? s1.getName().compareTo(s2.getName()) :num4;
return num5;
}
});
//键盘录入学生信息
for(int x = 1 ;x<5 ; x++ ) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入第" + x +"个的学生信息");
System.out.println("姓名");
String name = sc.nextLine();
System.out.println("语文成绩");
int yun = sc.nextInt();
System.out.println("数学成绩");
int math = sc.nextInt();
System.out.println("英语成绩");
int english = sc.nextInt();
//创建学生对象
Student s = new Student();
s.setEnglish(english);
s.setMath(math);
s.setName(name);
s.setYun(yun);
//把学生信息添加到集合
ts.add(s);
}
//遍历集合并添加到文本文件中
BufferedWriter bw = new BufferedWriter(new FileWriter("student.txt"));
bw.write("学生信息如下");
bw.newLine();
bw.flush();
bw.write("姓名,语文成绩,数学成绩,英语成绩");
bw.newLine();
bw.flush();
for(Student s : ts) {
StringBuffer tb = new StringBuffer();
tb.append(s.getName()).append(" ").append(s.getYun()).append(" ")
.append(s.getMath()).append(" ").append(s.getEnglish()).append(" ");
bw.write(tb.toString());
bw.newLine();
bw.flush();
}
//释放资源
bw.close();
System.out.println("学生信息录入完毕");
}
}
键盘录入学生信息按照总分排序并写入文本
猜你喜欢
转载自blog.csdn.net/kaszxc/article/details/108686842
今日推荐
周排行