Java笔试题-C盘下面有一个aa.txt的文件,文件里存放了年级每一个学生的成绩,格式为:姓名 分数 班级


题目:C盘下面有一个aa.txt的文件,文件里存放了年级每一个学生的成绩,格式为:姓名 分数 班级如:

张三80 1班

李四90 2班

设计一个方法,读取文件里的信息,最后输出学生的信息,输出格式为:姓名:张三 分数:80 班级:1班

要求:使用类存储每一行学生信息,使用list存储所有的学生信息。

public class ReadTextLine {
public static void main(String[] args) throws IOException {
    List<Student> list=getReader("E:\\score.txt");
    System.out.println(list);
    for(Student s:list){
        System.out.println("姓名:"+s.getName()+" "+"分数:"+s.getScore()+"班级:"+s.getCls());
    }
}
public static List<Student> getReader(String path) throws IOException{
     List<Student> students=new ArrayList<Student>();
    FileInputStream in=new FileInputStream(new File(path));
    InputStreamReader inr=new InputStreamReader(in);
    BufferedReader buf=new BufferedReader(inr);
    String s="";
    while((s=buf.readLine())!=null){
        Student student=new Student();
        int index=s.indexOf(" ");
        student.setName(s.substring(0,index-2));
        student.setScore(Integer.parseInt(s.substring(index-2,index)));
        student.setCls(s.substring(index,s.length()));
        students.add(student);
    }
    in.close();
    buf.close();
    inr.close();
    return students;
}
}

存储类:

public class Student {
    private String name;
    private int score;
    private String cls;

    public String getName() {
        return name;
    }

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

    public int getScore() {
        return score;
    }

    public void setScore(int score) {
        this.score = score;
    }

    public String getCls() {
        return cls;
    }

    public void setCls(String cls) {
        this.cls = cls;
    }

}

利用IO流读取文件信息:file-->FileInputStream-->InputStreamReader-->BufferedReader在通过while循环将每一行数据取出,每一次取出将其放入一个临时的String中,当为null时停止

将每一行数据通过空格分隔,空格以后的为班级,空格前两个为成绩,2位数,0到空格-2为姓名


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



猜您在找 有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件 一个C#解决方案中各文件夹存放了些什么 【C语言】利用文本编辑软件在磁盘上建立一个有n个学生的学号、姓名及英语、数学和计算机三门课程成绩的数据文件。编写程序将数据文件读入,且求出每个学生的平均成绩。 一个SQL查询出每门课程的成绩都大于80的学生姓名 有10个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输人10个学生数据,要求输出3门课程总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课程成绩、平均分数) 有五个学生,每个学生有3门课(语文、数学、英语)的成绩, * 写一个程序接收从键盘输入学生的信息,输入格式为:name,30,30,30(姓名,三门课成绩) Python做一个生成txt的学生成绩录入 【sql: 联系题26 ,27】查询平均成绩大于等于 85 的所有学生的学号、姓名和平均成绩,查询课程名称为「数学」,且分数低于 60 的学生姓名和分数 C++习题 对象转换(定义一个Teacher(教师)类(教师号,姓名,性别,薪金)和一个Student(学生)类(学号,姓名,性别,成绩)编写程序,将一个Student对象(学生)转换为Teacher(教师)类。 用C# 设计一个 Windows应用程序,在该程序中首先构造一个学生基本类,再分别构造小学生、中学生、大学生等派生类,当输入相关数据,单击不同的按钮(小学生、中学生、大学生)将分别创建不同的学生对象,并输出当前学生总人数,该学生的姓名、学生类型和平均成绩。
 
粤ICP备18138465号  © 2018-2026 CODEPRJ.COM