黑马程序员技术交流社区

标题: Date\DateFormat\Calendar03 [打印本页]

作者: _J2EE_LiXiZhen    时间: 2017-11-12 23:05
标题: Date\DateFormat\Calendar03
[Java] 纯文本查看 复制代码
//请使用实现:
//已知项目的根目录下有一个student.txt,内容如下:
//                         1       郝婷婷    女      30
//                         2       赵鹏      男      35
//                         3       周强      男      38
//                         4       李艳欣    女      37
//                         5       朱可可    女      41
//                         6       张少荣    女      30
//                         7       王小军    男      28
//该文件中,每一行表示一个学生信息,从前往后依次是学号,姓名,姓名,年龄
//要求:
//1.读取文件内容,把每一个学生信息封装为一个学生对象,存储到ArrayList集合中
//2.打印集合中的学生信息
//3.计算平均年分
//4.异常处理使用throws的方式

public class Test {
        public static void main(String[] args) throws IOException {
                // 创建输入流对象
                BufferedReader br = new BufferedReader(new FileReader("student.txt"));

                // 读取信息
                String line;
                ArrayList<Student> list = new ArrayList<>();
                while ((line = br.readLine()) != null) {
                        // 切割读取的信息并用String数组接收
                        String[] arr = line.split("\\s+");

                        // 将年龄字符串转为int形式
                        int age = Integer.parseInt(arr[3]);

                        // 将字符串数组信息封装到学生对象并存入集合
                        Student s = new Student();
                        s.setCode(arr[0]);
                        s.setName(arr[1]);
                        s.setSex(arr[2]);
                        s.setAge(age);
                        list.add(s);

                }

                // 打印学生信息
                for (int i = 0; i < list.size(); i++) {
                        Student s = list.get(i);
                        System.out.println(s.getCode() + " " + s.getName() + " " + s.getSex() + " " + s.getAge());
                }

                // 打印平均年龄
                int sum = 0;
                for (int i = 0; i < list.size(); i++) {
                        Student s = list.get(i);
                        sum += s.getAge();
                }
                int avg = sum / (list.size());
                System.out.println("平均年龄为: " + avg);
        }
}

//学生类

public class Student {
        // 编号
        private String code;
        // 姓名
        private String name;
        // 性别
        private String sex;
        // 年龄
        private int age;

        public Student() {
                // TODO Auto-generated constructor stub
        }

        public Student(String code, String name, String sex, int age) {
                super();
                this.code = code;
                this.name = name;
                this.sex = sex;
                this.age = age;
        }

        // get/set
        public String getCode() {
                return code;
        }

        public void setCode(String code) {
                this.code = code;
        }

        public String getName() {
                return name;
        }

        public void setName(String name) {
                this.name = name;
        }

        public String getSex() {
                return sex;
        }

        public void setSex(String sex) {
                this.sex = sex;
        }

        public int getAge() {
                return age;
        }

        public void setAge(int age) {
                this.age = age;
        }
}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2