簡體   English   中英

將輸入從另一個Java方法寫入文件

[英]Writing input from another java method to a file

我有這段代碼,我試圖從addEntry()方法獲取用戶輸入並編寫一種方法將其保存到文件中。

public class GradeBook {

private String course;
private ArrayList<Person> students = new ArrayList<Person>();
private ArrayList<GradeBookEntry> entries = new ArrayList<GradeBookEntry>();

public GradeBook(String course){
    this.course = course;
}

public String getCourse() {
    return course;
}

public void setCourse(String course) {
    this.course = course;
}

public void addStudent( Person student ){
    students.add(student);
}

public void addEntry(){
    System.out.println("Grade which student: ");
    for (int i = 0; i < students.size(); i++) {
        System.out.println(i + " " + students.get(i).getName());
    }
    Scanner reader = new Scanner(System.in);
    int studentIndex = reader.nextInt();
    reader.nextLine();

    System.out.println("Enter the assessment name: ");
    String assessmentName = reader.nextLine();

    System.out.println("Homework (1) or exam (2): ");
    int entryType = reader.nextInt();
    reader.nextLine();

    GradeBookEntry newEntry;
    // TODO: create either a Homework or Exam entry
    if( entryType == 1 ){
        newEntry = new HomeworkEntry(assessmentName);
    }
    else {
        newEntry = new ExamEntry(assessmentName);
    }

    // TODO: add getData method to the Homework and Exam
    newEntry.getData();
    newEntry.setStudent(students.get(studentIndex));

    entries.add(newEntry);
}

這是我創建的下面的方法,但是文本文件中沒有正確的數據,我想我某種程度上需要第一個方法的變量,例如“ studentIndex”,“ entryType”等,您能指出正確的方向嗎?

public void writeFile(String fileName){
    try {
        FileWriter writer = new FileWriter(fileName);
        for (int i=0; i<entries.size(); i++){
            writer.write(students.get(i).toString());
        }
                    writer.close();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

覆蓋Person類的toString應該是解決此問題的正確方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM