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