zoukankan      html  css  js  c++  java
  • 把集合中的student对象信息储存在文本中

    1.student类

    1                 // 姓名
    2         private String name;
    3         // 语文成绩
    4         private int chinese;
    5         // 数学成绩
    6         private int math;
    7         // 英语成绩
    8         private int english;
      public int getSum() {
    return this.chinese + this.math + this.english;
    }

    2.studentTest类

     1 /**
     2  *  * 键盘录入5个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低存入文本文件
     3  * 
     4  * 分析:
     5  *         A:创建学生类
     6  *         B:创建集合对象
     7  *             TreeSet<Student>
     8  *         C:键盘录入学生信息存储到集合
     9  *         D:遍历集合,把数据写到文本文件
    10  * @author chenwen
    11  *
    12  */
    13 public class StudentTest7 {
    14 
    15     public static void main(String[] args) throws IOException {
    16         TreeSet<Student> ts = new TreeSet<Student>(new Comparator<Student>() {
    17 
    18             @Override
    19             public int compare(Student s1, Student s2) {
    20                  int num=s1.getSum()-s2.getSum();
    21                  int num2=num==0?s1.getChinese()-s2.getChinese():num;
    22                  int num3=num2==0?s1.getMath()-s2.getMath():num2;
    23                  int num4=num3==0?s1.getName().compareTo(s2.getName()):num3;
    24                  return num4;
    25             }
    26         });
    27         // 键盘录入学生信息存储到集合
    28         for(int x =1;x<=5;x++) {
    29             Scanner sc = new Scanner(System.in);
    30             System.out.println("请输入第"+x+"个学生的信息");
    31             System.out.println("姓名");
    32             String name =sc.nextLine();
    33             System.out.println("语文成绩");
    34             int chinese  =sc.nextInt();
    35             System.out.println("数学成绩");
    36             int math  =sc.nextInt();
    37             System.out.println("英语成绩");
    38             int english  =sc.nextInt();
    39             
    40             Student s= new Student();
    41             s.setName(name);
    42             s.setChinese(chinese);
    43             s.setMath(math);
    44             s.setEnglish(english);
    45             ts.add(s);
    46         }
    47         // 遍历集合,把数据写到文本文件
    48         BufferedWriter bw =new BufferedWriter(new FileWriter("student.txt"));
    49         bw.write("学生信息如下:");
    50         bw.newLine();
    51         bw.flush();
    52         bw.write("姓名,语文成绩,数学成绩,英语成绩");
    53         bw.newLine();
    54         bw.flush();
    55         for (Student s : ts) {
    56             StringBuilder sb =new StringBuilder();
    57             sb.append(s.getName()).append(",").
    58             append(s.getChinese()).append(",").
    59             append(s.getMath()).append(",").
    60             append(s.getEnglish());
    61             bw.write(sb.toString());
    62             bw.newLine();
    63             bw.flush();
    64         }
    65         bw.close();
    66         System.out.println("学生信息储存完毕!");
    67     }
  • 相关阅读:
    hihocoder #1467 : 2-SAT·hihoCoder音乐节 2-SAT
    hihoCoder#1185 : 连通性·三 tarjan求强联通分量 缩点 dfs/拓扑排序求路径和最大值
    hihoCoder1175 拓扑排序·二 拓扑排序
    012 列表的一些常用操作符
    011,列表2
    010 列表1
    009,分支和循环3
    008,分支和循环2
    006 Python的操作符
    005 Python的数值类型
  • 原文地址:https://www.cnblogs.com/csslcww/p/9181307.html
Copyright © 2011-2022 走看看