В настоящее время я работаю над заданием по программированию для школы. Я часами работал над своим кодом, вместе с поиском ответа в Интернете, и мне не повезло.
По сути, мне дано восемь текстовых файлов, которые содержат несколько строк данных, таких как:
Henrietta Andersen 8 10 9 10 10 9 7 9 6 10 65 80 89 24 73 95 59 78 115
(порядок: имя, фамилия, десять оценок за домашнее задание, пять оценок по программе, две оценки по тесту и одна итоговая оценка)
У меня нет опыта работы с ArrayList, и я просматривал подобные проекты в Интернете, но не могу получить данные для печати в выходной файл. Я пытаюсь напечатать имена учеников в выходном файле, чтобы проверить, работает ли он, но единственное, что печатается, - это мой заголовок «FirstName». Я не могу получить данные для печати из моего loadArray.
Вот то, что я уже разработал в моей Главной:
package program1;
import java.util.Scanner;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.io.PrintStream;
public class Main {
private static ArrayList<Student> stud = new ArrayList<>();
public static void main(String[] args) {
PrintStream oFile = null;
try {
oFile = new PrintStream(new File("output.csv"));
oFile.println("FirstName");
for(int i = 0; i < stud.size(); i++)
{
oFile.println(stud.get(i).getStudFirstName());
}
} catch (FileNotFoundException ex) {
System.err.println("File not found");
System.exit(1);
}
}
public static void loadArray() {
Scanner fileIn = null;
try {
fileIn = new Scanner(new File("CS140-001.txt"));
} catch (FileNotFoundException ex) {
System.err.println("Error opening file");
System.exit(1);
}
int totalHomeworks = 9;
int totalPrograms = 5;
int totalTests = 1;
int[] hmwGrade = new int[totalHomeworks];
int[] programGrade = new int[totalPrograms];
int[] testGrade = new int[totalTests];
while (fileIn.hasNext()) {
Student student;
String fName = fileIn.next();
String lName = fileIn.next();
for (int i = 0; i < totalHomeworks; ++i) {
hmwGrade[i] = fileIn.nextInt();
}
for (int i = 0; i < totalPrograms; ++i) {
programGrade[i] = fileIn.nextInt();
}
for (int i = 0; i < totalTests; ++i) {
testGrade[i] = fileIn.nextInt();
}
int finalGrade = fileIn.nextInt();
student = new Student(fName, lName, new Grades(hmwGrade, programGrade, testGrade, finalGrade));
stud.add(student);
}
fileIn.close();
}
}