IO流(1)-键盘录入学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低存入文本文件...
1.先写一个Student类
![](/assets/blank.gif)
![](/assets/blank.gif)
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个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低存入文本文件
![](/assets/blank.gif)
![](/assets/blank.gif)
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个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低存入文本文件
![](/assets/blank.gif)
![](/assets/blank.gif)
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)-键盘录入学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低存入文本文件...相关推荐
- 键盘录入3个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低存入文本文件
分析: 创建一个学生类: 姓名,语文成绩(chineseScore),数学成绩(mathScore),英语成绩(englishScore)因为要排序,所以需要选择TreeSet进行存储学生对象键盘录入 ...
- 练习:【三国游戏文件信息读取分类、键盘录入学生信息写入文件、 GBK与UTF-8文件内容互相转换】
练习:[三国游戏文件信息读取分类.键盘录入学生信息写入文件. GBK与UTF-8文件内容互相转换] 三国游戏文件信息读取分类 txt文件信息 1 阿会喃 云南 男 190 225 74 2 伊籍 江陵 ...
- 键盘录入五个学生信息(姓名,语文成绩,数学成绩,英语成绩)。要求按照成绩总分从高到低写入文本文件
如题: * 需求:键盘录入五个学生信息(姓名,语文成绩,数学成绩,英语成绩).要求按照成绩总分从高到低写入文本文件 * 格式:姓名,语文成绩,数学成绩,英语成绩 举例:林青霞,98,98,100 * ...
- 键盘录入学生信息,保存到集合中
键盘录入学生信息,保存到集合中. 循环录入的方式,1:表示继续录入,0:表示结束录入. 定义学生类,属性为姓名,年龄,使用学生对象保存录入数据. 使用数组(数组扩容),保存学生对象,录入结束后,遍历数 ...
- 输入学生的学号及语文、数学、英语成绩, 输出学生各科成绩及率均成绩信息
# include <stdio.h> # define N a[10] void main() { float y,s,w,p; int N; printf(&q ...
- c语言输入的成绩由高到低该怎么,c语言编程:输入学生信息(姓名年龄分数)并按照分数由高到低输出...
<c语言编程:输入学生信息(姓名年龄分数)并按照分数由高到低输出>由会员分享,可在线阅读,更多相关<c语言编程:输入学生信息(姓名年龄分数)并按照分数由高到低输出(2页珍藏版)> ...
- 键盘录入五个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低输出到控制台
package cn.itcast_06;import java.util.Comparator; import java.util.Scanner; import java.util.TreeSet ...
- java键盘循环输入5个学生的成绩_键盘录入5个学生的信息根据总分从高到低输出在控制台...
第一部分: public class Student { private String name; private Integer chinese; private Integer math; pri ...
- 定义一个学生信息结构体,包含姓名,学号,语文成绩、数学成绩,和英语成绩,定义结构体数组存放不同学生的信息,可以在终端录入学生的信息,在基础上添加一个计算平均值和按照平均值排序以及删除指定学号的学生信息
1. 代码如下: 头文件 chx.h #include<stdio.h> #include<string.h>struct chx{char name[128];int sn ...
最新文章
- codeforces水题100道 第十六题 Codeforces Round #164 (Div. 2) A. Games (brute force)
- 电脑解锁后黑屏有鼠标_笔记本电脑开机黑屏只显示鼠标怎么办?
- 使Mybatis开发变得更加轻松的增强工具 — Ourbatis
- Pyhon 图片透明化
- python 画风场 scipy_科学网-Python: 扩展库SciPy-刘洋洋的博文
- 【pytorch学习】四种钩子方法(register_forward_hook等)的用法和注意点
- 大数据薪资一再飙升 学习大数据需要哪些基础?
- 如何在Mac的内置词典中添加和删除单词
- 使用NVIDIA端到端深度学习平台进行缺陷自动检测
- 手机等第三方终端访问 WebStorm 页面
- devc++编程 error: jump to case label错误笔记
- 吴恩达机器学习视频笔记——简单知识背景
- 智慧体检中心管理系统方案/APP/小程序/公众号/网站
- 企业微信 php sdk,thinkphp5.0集成企业微信SDK
- SpringBoot @EnableAutoConfiguration exclude属性失效
- 基于VUE+H5PLUS 实现app交互蓝牙打印机得功能
- 装箱与拆箱(TDB)
- HBase学习(四) HBase API操作
- 校招----深信服测试笔经面经
- 基于PySpark的航天日志分析(SQL分析)
热门文章
- @scheduled 执行一次_Spring Boot 定时任务 @Scheduled
- ggspatial | ggplot2的地图制作拓展包(1):如何添加指北针和比例尺
- javascript该怎么学呢?值得收藏的学习Js之路
- 微软官方解读 Win11 操作系统
- ajax live search,AJAX Live Search
- html5选择试题及答案,全套html5面试题大全带答案
- python正则替换查询_使用Python中的正则表达式进行搜索和替换
- php scandir 目录树,使用php scandir函数遍历文件夹目录和所有文件
- vim配置c语言开发环境变量,gcc配置和vim编程
- 捕捉ctrl+c信号,并进行操作(C++实现)