我目前正在为学校编程工作。我已经在代码上工作了几个小时,并且在网上搜索答案也没有运气。
基本上,我得到了八个文本文件,其中包含几行数据,如下所示:
Henrietta Andersen 8 10 9 10 10 9 7 9 6 10 65 80 89 24 73 95 59 78 115
(顺序为名字,姓氏,十个家庭作业等级,五个程序等级,两个测试等级和一个最终等级)
我没有使用ArrayList的经验,我一直在网上寻找类似的项目,但是无法获取任何要打印到输出文件的数据。我正在尝试在输出文件中打印学生的名字,以检查其是否正常运行,但是唯一打印出的是我的标头“ FirstName”。我无法从loadArray中获取任何要打印的数据。
这是我到目前为止在Main中完成的工作:
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();
}
}
答案 0 :(得分:0)
在开始将其打印到输出文件之前,未向数组列表stud
加载数据。
在开始打印到输出文件之前,请致电loadArray()
。
public static void main(String[] args) {
PrintStream oFile = null;
try {
oFile = new PrintStream(new File("output.csv"));
oFile.println("FirstName");
// Load the array here with student's data
loadArray();
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);
}
}