: 迪丽热巴,女,18,99 古力娜扎,女,19,98 周杰伦,男,20,88 蔡徐坤,男,19,78 2. 定义一个文件字符输入流FileReader,读取上一步保存的学员信息文件,将 每行学员信息解析成一个Student对象,并添加到集合中 3. 遍历集合,输出每个学员的信息 4. 计算集合中所有学员分数的平均值并输出

参考代码如下:

import java.io.*;
import java.util.ArrayList;
import java.util.List;

class Student {
    private String name;
    private String gender;
    private int age;
    private int score;

    public Student() {}

    public Student(String name, String gender, int age, int score) {
        this.name = name;
        this.gender = gender;
        this.age = age;
        this.score = score;
    }

    // getter/setter
    public String getName() { return name; }
    public void setName(String name) { this.name = name; }
    public String getGender() { return gender; }
    public void setGender(String gender) { this.gender = gender; }
    public int getAge() { return age; }
    public void setAge(int age) { this.age = age; }
    public int getScore() { return score; }
    public void setScore(int score) { this.score = score; }
}

public class Main {
    public static void main(String[] args) {
        // 初始化学员集合
        List<Student> stuList = new ArrayList<>();
        stuList.add(new Student("迪丽热巴","女",18,99));
        stuList.add(new Student("古力娜扎","女",19,98));
        stuList.add(new Student("周杰伦","男",20,88));
        stuList.add(new Student("蔡徐坤","男",19,78));

        // 写入文件
        try (FileWriter writer = new FileWriter("a.txt")) {
            for (Student stu : stuList) {
                writer.write(stu.getName() + "," + stu.getGender() + "," + stu.getAge() + "," + stu.getScore() + "\n");
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

        // 读取文件
        try (FileReader reader = new FileReader("a.txt");
             BufferedReader br = new BufferedReader(reader)) {
            String line;
            while ((line = br.readLine()) != null) {
                String[] fields = line.split(",");
                Student stu = new Student(fields[0], fields[1], Integer.parseInt(fields[2]), Integer.parseInt(fields[3]));
                stuList.add(stu);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

        // 输出学员信息
        for (Student stu : stuList) {
            System.out.println(stu.getName() + " " + stu.getGender() + " " + stu.getAge() + " " + stu.getScore());
        }

        // 计算平均分数
        double sum = 0;
        for (Student stu : stuList) {
            sum += stu.getScore();
        }
        double avg = sum / stuList.size();
        System.out.println("平均分数:" + avg);
    }
}
``
题目四请按以下要求编写程序:1 定义一个学员类有以下属性:姓名、性别、年龄、分数无参、全参构造方法getset方法2 定义main方法定义一个存储Student的集合并初始化一些数据:1 ListStudent stuList = new ArrayList;2 stuListaddnew Student迪丽热巴女1899;3 stuListaddnew Student古力娜扎女1998;4 st

原文地址: https://www.cveoy.top/t/topic/fFdR 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录