【发布时间】:2015-01-28 23:42:40
【问题描述】:
我正在为一项作业编写一个程序,该程序使用 jFrame UI 读取一个记事本文件的内容,其中包含“成绩”(A、B、C、C+ 等),然后计算成绩总数,以及最高和最低等级。在 jFrame 中,用户输入一个文件名(我不想使用 JFileChooser,因为这不是分配的一部分)并单击“加载”以加载文件。我正在努力使用 Load() 方法。到目前为止,我有:
public ArrayList<LetterGrade> Load(File file) throws FileNotFoundException {
ArrayList<LetterGrade> grades = new ArrayList();
try{
Scanner input = new Scanner(file);
String grade = input.nextLine();
grades.add(LetterGrade.grade);
} catch (FileNotFoundException ex) {
System.out.printf("ERROR: %s", ex);
}
return grades;
我知道 Grades.add(LetterGrade.grade) 行中存在问题,因为我只能将 LetterGrade 枚举(A、AMinus、BPlus、B 等)添加到 ArrayList “grades”,而grade 是一个字符串。我怎样才能使它在 Scanner 读取文件时,获取每个等级并将其添加到称为“等级”的 ArrayList 中?另外,我只想获取属于我的 LetterGrade 枚举一部分的成绩,所以我会使用 if/else 来过滤它吗?感谢您的帮助,我会尽快回复问题。
【问题讨论】:
-
您没有显示变量
LetterGrade.grade的类型,并且您从未告诉我们您遇到的具体问题 -
@VinceEmigh
LetterGrade.grade可能是 OP 试图索引到LetterGrade的尝试,底部有一个问题。 -
@APerson 没关系,我刚刚看到他提到它是一个字符串。如果他的问题格式更好,并且不包含无关信息,我会更清楚地看到它