【Java】FileUtils练习题2

* 信息查询
  1. 创建学生对象,拥有学生编号、学生姓名、出生年月、性别属性,提供get、set方法。
  1.1.创建4名学生对象,对象信息如下:
  
学生编号 姓名      出生日期      性别
--------------------------------------
  "s01"  "小赵"  "1991-01-01"  "男"
  "s02"  "小李"  "1990-10-21"  "男"
  "s03"  "小周"  "1990-12-30"  "女"
  "s04"  "小吴"  "1989-08-06"  "男"

  1.2.将上述4名学生对象放入ArrayList集合中,将集合中的数据按如下格式写入到项目下的stu.txt文件中
  stu.txt格式如下:
  s01,小赵,1991-01-01,男
  s02,小李,1990-10-21,男
  s03,小周,1990-12-30,女  
  s04,小吴,1989-08-06,男

  1.3.定义方法,遍历ArrayList集合,将年龄超过28岁的学生信息写入到18.txt文件中
  28.txt格式如下:
  s02,小李,1990年10月21日,男
  s04,小吴,1989年08月06日,男
  
  2.创建成绩Score类,读取成绩score.txt文件,将数据封装进score对象中,再将score对象存入HashSet集合中,
      要求:score.txt有重复数据,学生编号和课程名称相同即为重复数据,要求存入HashSet集合中要去除重复数据
      score.txt(学生编号、课程名称、考试时间、分数) 
      s01,语文,2018/10/30,82
      s01,数学,2018/10/30,52
      s01,英语,2018/10/28,96
      s01,英语,2018/10/28,96
      s01,英语,2018/10/28,96
      s02,语文,2018/10/30,56
      s02,英语,2018/10/28,58
      s02,英语,2018/10/28,58
      s03,语文,2018/10/28,88
      s03,数学,2018/10/30,62
      s03,英语,2018/10/28,32
      s04,数学,2018/10/30,56
      s04,英语,2018/10/28,26  
  
  2.1.将HashSet集合中去重后的数据写回score.txt
      s01,语文,2018/10/30,82
      s01,数学,2018/10/30,52
      s01,英语,2018/10/28,96
      s02,语文,2018/10/30,56
      s02,英语,2018/10/28,58
      s03,语文,2018/10/28,88
      s03,数学,2018/10/30,62
      s03,英语,2018/10/28,32
      s04,数学,2018/10/30,56
      s04,英语,2018/10/28,26  
  
  2.2.发现score.txt文件中,编号s03的学生语文考试时间错误,读取score.txt文件,
      将数据封装进score对象中将s03的语文考试时间修改为2018/10/30。其他数据保持不变。
      s01,语文,2018/10/30,82
      s01,数学,2018/10/30,52
      s01,英语,2018/10/28,96
      s02,语文,2018/10/30,56 
      s02,英语,2018/10/28,58
      s03,语文,2018/10/30,88
      s03,数学,2018/10/30,62
      s03,英语,2018/10/28,32
      s04,数学,2018/10/30,56
      s04,英语,2018/10/28,26 

  2.3.定义方法,遍历hashSet中的成绩数据,找出平均分最高的学号,键是学号,值是平均分。存入HashMap集合并返回。
  
  2.4.定义方法,遍历hashSet中的成绩数据,找出平均分高于60的学号,存入新的HashSet集合并返回。

  2.5.定义方法,遍历hashSet中的成绩数据,打印"语文"、"数学"、"英语"成绩的最高分。
  打印格式如下:
  语文最高分:82
  数学最高分:60
  英语最高分:88
  
  2.6.定义方法,遍历hashSet中的成绩数据,
    分别将语文成绩写入到file_1.txt中,
        s01,语文,2018/10/30,82
        s02,语文,2018/10/30,56 
        s03,语文,2018/10/30,88
        
        将数学成绩写入到file_2.txt中,
        s01,数学,2018/10/30,52
        ...
        
        将英语成绩写入到file_3.txt中,
        s01,英语,2018/10/28,96
        ...
  
  2.7.定义方法,遍历hashSet中的成绩数据,统计10月30日考试的课程数量并返回。
  
  2.8.定义方法,遍历hashSet中的成绩数据,打印"英语"比"语文"成绩高的学生编号。
  
  2.9.定义方法,遍历hashSet中的成绩数据,考试科目一共有3科,找出缺考的学生编号,将学生编号存入新的HashSet集合中并返回。
  
  3.0.定义方法,接收学生集合和成绩集合,将学生的学号、姓名、课程科目总数、总成绩写入sum.txt文件
  sum.txt
  s01,小赵,3,230
  s02,小李,2,114
  s03,小周,3,182
  s04,小吴,2,82 
  
  3.1.定义方法,接收学生集合和成绩集合,将不及格的学生信息和成绩按如下格式写入到not_pass.txt文件中
  notpass.txt
  s01,小赵,数学,2018/10/30,52
  s02,小李,语文,2018/10/30,56
  s02,小李,英语,2018/10/28,58
  s03,小周,英语,2018/10/28,32
  s04,小吴,数学,2018/10/30,56
  s04,小吴,英语,2018/10/28,26 
  
  3.2.定义方法,接收学生集合和成绩集合,将考试科目都不及格的学生信息写入到all_not_pass.txt文件中
  s02,小李
  s04,小吴
  
  3.3.定义方法,接收学生集合和成绩集合,打印每科都比"小吴"成绩好的学生编号、学生姓名。

posted @ 2022-11-09 08:10  陶然同学  阅读(3)  评论(0编辑  收藏  举报