2015-03-12 2 views
0

У меня есть этот код, который я пытаюсь ввести пользователем из метода addEntry() и написать метод сохранения этого файла.Запись ввода из другого метода java в файл

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(); 
    } 
} 
+0

Это были мои инструкции: добавьте метод в GradeBook, который сохраняет его записи. ◦ Нажимайте каждую запись в отдельной строке с разделителем между значениями. Я интерпретирую это как сохранение ввода пользователя, запрошенного из addEntry(), но я не знаю, как получить эти переменные, чтобы я мог их сохранить. – Fireguyy

ответ

0

Переопределение toString из Person класса должен быть правильный путь идти об этом.

+0

Я не совсем уверен, как я это сделаю? это просто метод public String toString() {return studentIndex} – Fireguyy

+0

[This] (http://stackoverflow.com/questions/10734106/how-to-override-tostring-properly-in-java) может быть началом , –

Смежные вопросы