Java基础知识IO流(练习)
来源:互联网 发布:双色球蓝球最新计算法 编辑:程序博客网 时间:2024/05/16 09:02
练习:
要求:有五个学生,每个学生有3门课的成绩,
从键盘输入以上数据(包括姓名,三门课成绩),
输入的格式:如:zhagnsan,30,40,60计算出总成绩,
并把学生的信息和计算出的总分数高低顺序存放在磁盘文件”stud.txt”中。
1,描述学生对象。
2,定义一个可操作学生对象的工具类。
思想:
1,通过获取键盘录入一行数据,并将该行中的信息取出封装成学生对象。
2,因为学生有很多,那么就需要存储,使用到集合。因为要对学生的总分排序。
所以可以使用TreeSet。
3,将集合的信息写入到一个文件中。
import java.io.*;import java.util.*;class StudentTest { public static void main(String[] args) throws IOException { Set<Student> students=StudentInfoUtil.getStudents(); StudentInfoUtil.write2file(students); }}class Student implements Comparable{ public String name; public int yu,shu,ying; public int zong; Student(String name,int yu,int shu,int ying) { this.name=name; this.yu=yu; this.shu=shu; this.ying=ying; this.zong=yu+shu+ying; } public int compareTo(Object obj) { if(!(obj instanceof Student)) throw new RuntimeException("不是学生"); Student stu=(Student)obj; if(this.zong<stu.zong) return 1; else if(this.zong==stu.zong) return this.name.compareTo(stu.name); return -1; }}class StudentInfoUtil{ public static Set<Student> getStudents() throws IOException { BufferedReader bur=new BufferedReader(new InputStreamReader(System.in)); String line=null; Set<Student> students=new TreeSet<Student>(); while((line=bur.readLine())!=null) { if(line.equals("over")) break; String[] info=line.split(","); Student stu=new Student(info[0],Integer.parseInt(info[1]), Integer.parseInt(info[2]), Integer.parseInt(info[3])); students.add(stu); } bur.close(); return students; } public static void write2file(Set<Student> students)throws IOException { BufferedWriter buw=new BufferedWriter(new FileWriter("stuinfo.txt")); for(Student stu:students) { buw.write(stu.name+","+stu.zong); buw.newLine(); buw.flush(); } buw.close(); }}
0 0
- Java基础知识IO流(练习)
- Java基础知识IO流(文本文件读取练习)
- java基础知识IO流
- java io流基础知识
- 【Java】IO流基础知识
- java基础知识---IO流
- Java基础知识-IO流
- Java基础知识-IO流
- Java IO流--练习
- Java IO流(一)基础知识
- Java基础知识 十二 IO流 (上)
- Java基础知识 十三 IO流(下)
- Java基础知识IO流(拷贝文本文件)
- Java基础知识IO流(BufferedWriter&BufferedReader)
- Java基础知识IO流(File)
- Java基础知识IO流(Properties)
- Java基础知识IO流(其他类)
- Java基础知识IO流(拷贝文本文件)
- 要看懂MATLAB的Help需要积累的英文词汇!
- centos7安装 mysql
- VR资讯,2016即将掀起波浪!小伙伴们,你们还在用手机看视频,那就OUT了,快来体验VR的魅力吧!
- 排序算法java 四 -- 冒泡排序、选择排序
- 三子棋局-挑战你的逻辑思维
- Java基础知识IO流(练习)
- NKOI 2112 糖果
- 计算复杂性学习2-多带图灵机模拟
- Manifest文件详解
- android之各种图形绘制
- OC 分类注意事项
- Java EE中出错函数sendError()
- Maven之命令
- 基于MT7688模块的开发笔记6——给自己的Ubuntu系统添加中文输入法