分析:  创建一个学生类: 姓名,语文成绩(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>() {@Overridepublic 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 = new Scanner(System.in);System.out.println("请输入第"+i+"位学生的姓名");String s = sc.nextLine();System.out.println("请输入语文成绩");int a = sc.nextInt();System.out.println("请输入数学成绩");int b = sc.nextInt();System.out.println("请输入英语成绩");int c = sc.nextInt();Student sd = new Student();sd.setName(s);sd.setChinese(a);sd.setMath(b);sd.setEnglish(c);treeSet.add(sd);}//把集合添加到文本上BufferedWriter writer = new BufferedWriter(new FileWriter("student.txt"));writer.write("学生信息如下");writer.newLine();writer.write("姓名"+"语文"+"数学"+"英语\t"+"总分");writer.newLine();for (Student s : treeSet) {StringBuilder stb = new StringBuilder();stb.append(s.getName()).append("\t").append(s.getChinese()).append("\t").append(s.getMath()).append("\t").append(s.getEnglish()).append("\t").append(s.sum());writer.write(stb.toString());writer.newLine();writer.flush();}writer.close();System.out.println("录入完毕");}
}

学生类

public class Student {private String name;private int chinese;private int math;private int english;public Student() {}public Student(String name, int chinese, int math, int english) {this.name = name;this.chinese = chinese;this.math = math;this.english = english;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getChinese() {return chinese;}public void setChinese(int chinese) {this.chinese = chinese;}public int getMath() {return math;}public void setMath(int math) {this.math = math;}public int getEnglish() {return english;}public void setEnglish(int english) {this.english = english;}public int sum(){return chinese+math+english;}
}

输入信息

请输入第1位学生的姓名
www
请输入语文成绩
99
请输入数学成绩
88
请输入英语成绩
77
请输入第2位学生的姓名
yyy
请输入语文成绩
66
请输入数学成绩
55
请输入英语成绩
44
请输入第3位学生的姓名
fff
请输入语文成绩
33
请输入数学成绩
22
请输入英语成绩
11
录入完毕Process finished with exit code 0

生成的文本文件

键盘录入3个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低存入文本文件相关推荐

  1. IO流(1)-键盘录入学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低存入文本文件...

    1.先写一个Student类 public class Student {private String name;private int chinese;private int math;privat ...

  2. 键盘录入五个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低输出到控制台

    package cn.itcast_06;import java.util.Comparator; import java.util.Scanner; import java.util.TreeSet ...

  3. 键盘录入五个学生信息(姓名,语文成绩,数学成绩,英语成绩)。要求按照成绩总分从高到低写入文本文件

    如题: * 需求:键盘录入五个学生信息(姓名,语文成绩,数学成绩,英语成绩).要求按照成绩总分从高到低写入文本文件 * 格式:姓名,语文成绩,数学成绩,英语成绩 举例:林青霞,98,98,100 * ...

  4. 输入学生的学号及语文、数学、英语成绩, 输出学生各科成绩及率均成绩信息

    # include <stdio.h> # define N a[10] void main() {     float y,s,w,p; int N;         printf(&q ...

  5. java键盘录入三个学生信息,编一程序,从键盘输入学生的三门课程成绩,求其总... 编一个程序,功能是从键盘输入三个整数,将其由小到......

    导航:网站首页 > 编一程序,从键盘输入学生的三门课程成绩,求其总... 编一个程序,功能是从键盘输入三个整数,将其由小到... 编一程序,从键盘输入学生的三门课程成绩,求其总... 编一个程序 ...

  6. c语言输入的成绩由高到低该怎么,c语言编程:输入学生信息(姓名年龄分数)并按照分数由高到低输出...

    <c语言编程:输入学生信息(姓名年龄分数)并按照分数由高到低输出>由会员分享,可在线阅读,更多相关<c语言编程:输入学生信息(姓名年龄分数)并按照分数由高到低输出(2页珍藏版)> ...

  7. 定义一个学生信息结构体,包含姓名,学号,语文成绩、数学成绩,和英语成绩,定义结构体数组存放不同学生的信息,可以在终端录入学生的信息,在基础上添加一个计算平均值和按照平均值排序以及删除指定学号的学生信息

    1. 代码如下: 头文件  chx.h #include<stdio.h> #include<string.h>struct chx{char name[128];int sn ...

  8. 定义一个学生信息结构体,包含姓名,学号,语文成绩、数学成绩,和英语成绩,定义结构体数组存放不同学生的信息,可以在终端录入学生的信息,可以实现对于学生成绩的排序,排序可以按照语文、数学或者英语的任意一个

    1.代码实现 #include<stdio.h> #include<stdlib.h> #include<string.h>typedef struct stude ...

  9. java键盘循环输入5个学生的成绩_键盘录入5个学生的信息根据总分从高到低输出在控制台...

    第一部分: public class Student { private String name; private Integer chinese; private Integer math; pri ...

最新文章

  1. Activity的LaunchMode
  2. 洛谷 P2486 [SDOI2011]染色 LCT
  3. python文件命名文件夹怎么删除_python文件批量重命名、删除文件夹
  4. docker 安装入门
  5. python3moduleoftheweek中文_[翻译]Python Module of The Week: Counter
  6. 只能计算机论文,谈计算机及人工智能技术发展-人工智能论文-计算机论文.docx...
  7. 公共交通WiFi末路?公交WiFi重挫 地铁WiFi承受盈利压力
  8. SQL点滴系列之插入数据(四)
  9. javascript鼠标拖拽的那些事情
  10. 如何使用libxml2库[转]
  11. Spark报错:JDOFatalInternalException: Error creating transactional connection factory
  12. 我的软考之路(六)——数据结构与算法(4)之八大排序
  13. xlsx文件打开乱码_excel打开xls文件全是乱码怎么办?excel打开xls乱码的修复方法
  14. 概率论与数理统计(陈希孺)学习笔记
  15. MATLAB+三对角矩阵
  16. 计算机学院工作总结报告,计算机学院分工会2018年工作总结
  17. 摄氏度和开氏度的换算_开氏度和摄氏度
  18. 第54件事 引爆流行的3个条件
  19. 容性耦合等离子体(CCP)和电感耦合等离子体(ICP)
  20. 7-139 手机话费 (10分)

热门文章

  1. 乔里斯基分解(Cholesky decomposition)
  2. 携手并进•共赢未来 | 昂楷数据安全赋能大会•上海站完美收官
  3. 【2020年高被引学者】 汤晓鸥 香港中文大学
  4. 树莓派学习笔记——使用标准PC104键盘
  5. 电路维修 -> 双端队列 BFS
  6. eja变送器电压变送器的分类
  7. IP-guard 打印水印和屏幕水印使用说明
  8. Android 获取联系人手机号码、姓名、地址、公司、邮箱、生日
  9. tail是Linux命令吗,linux系统中tail命令的使用详解
  10. 基于CPLD和LVPECL门电路的脉宽可调窄脉冲信号发生器设计