1.先写一个Student类

public class Student {private String name;private int chinese;private int math;private int english;public Student() {super();}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 getTotal(){return (this.chinese + this.math + this.english);}@Overridepublic String toString() {return "Student{" +"name='" + name + '\'' +", chinese=" + chinese +", math=" + math +", english=" + english +'}';}
}

Student

2.录入5个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低存入文本文件

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Comparator;
import java.util.TreeSet;public class Demo {public static void main(String[] args) throws IOException {//创建5个学生对象Student s1 = new Student("孙悟空",80,80,80);Student s2 = new Student("猪八戒",90,90,90);Student s3 = new Student("玉皇大帝",100,100,100);Student s4 = new Student("嫦娥",100,100,100);Student s5 = new Student("白骨精",90,80,100);//按照总分从高到低存入TreeSetTreeSet<Student> set = new TreeSet<>(new Comparator<Student>() {@Overridepublic int compare(Student s1, Student s2) {int cmp1 =   s2.getTotal() - s1.getTotal();//总分从高到低排序int cmp2 = cmp1 == 0 ? s2.getName().compareTo(s1.getName()) : cmp1;//保证可以出现总分相同但是名字不同的学生return cmp2;}});//将学生信息存入集合
        set.add(s1);set.add(s2);set.add(s3);set.add(s4);set.add(s5);//3.遍历集合并写入文件BufferedWriter writer = new BufferedWriter(new FileWriter("Day27_Thread01\\student.txt"));for (Student s :set) {StringBuilder sb = new StringBuilder("姓名:" + s.getName()  + ", 语文成绩:" + s.getChinese() +", 数学成绩:" + s.getMath() + ", 英语成绩:" + s.getEnglish());writer.write(sb.toString());writer.newLine();writer.flush();}writer.close();}
}

Demo

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

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Comparator;
import java.util.Scanner;
import java.util.TreeSet;public class Demo2 {public static void main(String[] args) throws IOException {//创建TreeSet集合TreeSet<Student> set = new TreeSet<>(new Comparator<Student>() {@Overridepublic int compare(Student s1, Student s2) {int cmp1 =   s2.getTotal() - s1.getTotal();int cmp2 = cmp1 == 0 ? s2.getName().compareTo(s1.getName()) : cmp1;return cmp2;}});for (int i = 0;i < 5;i++){//输入学生信息Scanner sc = new Scanner(System.in);System.out.println("请输入学生的姓名:");String name = sc.nextLine();System.out.println("请输入该学生的语文成绩:");int chinese = sc.nextInt();System.out.println("请输入该学生的数学成绩:");int math = sc.nextInt();System.out.println("请输入该学生的英语成绩:");int english = sc.nextInt();//创建学生对象并录入信息Student s = new Student();s.setName(name);s.setChinese(chinese);s.setMath(math);s.setEnglish(english);//将学生添加到集合里
            set.add(s);}//3.遍历集合并写入文件BufferedWriter writer = new BufferedWriter(new FileWriter("Day27_Thread01\\student.txt"));for (Student s :set) {StringBuilder sb = new StringBuilder("姓名:" + s.getName()  + ", 语文成绩:" + s.getChinese() +", 数学成绩:" + s.getMath() + ", 英语成绩:" + s.getEnglish());writer.write(sb.toString());writer.newLine();writer.flush();}//关闭资源
        writer.close();}
}

Demo2

转载于:https://www.cnblogs.com/bug-baba/p/10558050.html

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

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

    分析: 创建一个学生类: 姓名,语文成绩(chineseScore),数学成绩(mathScore),英语成绩(englishScore)因为要排序,所以需要选择TreeSet进行存储学生对象键盘录入 ...

  2. 练习:【三国游戏文件信息读取分类、键盘录入学生信息写入文件、 GBK与UTF-8文件内容互相转换】

    练习:[三国游戏文件信息读取分类.键盘录入学生信息写入文件. GBK与UTF-8文件内容互相转换] 三国游戏文件信息读取分类 txt文件信息 1 阿会喃 云南 男 190 225 74 2 伊籍 江陵 ...

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

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

  4. 键盘录入学生信息,保存到集合中

    键盘录入学生信息,保存到集合中. 循环录入的方式,1:表示继续录入,0:表示结束录入. 定义学生类,属性为姓名,年龄,使用学生对象保存录入数据. 使用数组(数组扩容),保存学生对象,录入结束后,遍历数 ...

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

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

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

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

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

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

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

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

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

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

最新文章

  1. Gazebo构建小车模型并通过ROS控制
  2. linux主机释放cache和buffer
  3. Qt QSetting *.ini.lock
  4. 利用CentOS快速构建自己的发行版(3)
  5. LeetCode175 组合两个表
  6. .NET Core TDD前传: 编写易于测试的代码 -- 缝
  7. linux a8启动过程,51CTO博客-专业IT技术博客创作平台-技术成就梦想
  8. 软件测试,何去何从?想安逸不可能!软饭得硬吃...我整理的超全学习指南【值得每个测试一看】
  9. linux重启openfire服务,Centos下Openfire详细安装过程
  10. 谈谈“天轰穿”老师对VS2005的视频讲座
  11. i5 1135G7和 i7 10875H哪个好
  12. 共筑未来 | 思腾合力加入光合组织,完成国产信创兼容适配
  13. 胡阳pyhton作业题--20150725
  14. 建筑施工与管理计算机综合应用能力实训报告,建筑施工管理计算机综合应用能力实训报告...
  15. Mysql学习代码笔记
  16. C语言atof,atoi,atol函数用法详解和main函数2个参数的使用详解
  17. 电脑开机显示自动修复失败无法进入系统的解决方法
  18. 【视频】什么是Bootstrap自抽样及应用R语言线性回归预测置信区间实例|数据分享
  19. 拓普康机器人控制器_营山拓普康MS05AXⅡ全自动测量机器人价格
  20. 电感啸叫的成因与解决方法

热门文章

  1. 计算机 学校教一半 自学一半,一半初中生无缘普高,上职业学校怎么样?
  2. wps多人协作后怎么保存_白酒开瓶后怎么保存?
  3. 2021年计算机二级考试广东卷英语,2021年广东计算机等级考试考试模拟练习卷.doc...
  4. 计算机c语言笔试试题,计算机二级c语言笔试题和面试题答案(2019最新)
  5. java中new与newitance_你真的弄明白 new 了吗
  6. 广义表的长度和深度怎么算_最新详细个人所得税税率表!快看最新个人所得税怎么算!...
  7. php 弹出下载,php文件下载,不弹出下载框怎么破
  8. voc数据集的map计算方式
  9. Matlab:批量文件命名
  10. opencv3.4.1 + vs 2017 + cmake 3.11.3 + win10 配置. 终章