我编写了一个将 Student 对象添加到名册数组中的方法。
void add(Student newStudent){
int i = 0;
while(i != classSize){ //classSize is the size of the roster array
if(roster[i] == null { //roster is an array of Student objects
roster[i] = newStudent;
}
i++;
}
}
我遇到的问题是,当我在主类中使用此方法时,它似乎只添加和打印第一个对象。
我的主要方法的一部分:
ClassRoster firstRoster = new ClassRoster();
scan = new Scanner(inputFile).useDelimiter(",|\\n");
while(scan.hasNext()){
String name = scan.next();
int gradeLevel = scan.nextInt();
int testGrade = scan.nextInt();
Student newStudent = new Student(name,gradeLevel,testGrade);
firstRoster.add(newStudent);
System.out.printf(firstRoster.toString());
}
输入文本文件看起来像这样:
John,12,95
Mary,11,99
Bob,9,87
但是,当我尝试打印 firstRoster 数组时,它只打印第一个对象。在这种情况下,它将打印 John 3 次。
John,12,95
John,12,95
John,12,95
如果我在文本文件中添加另一个学生,它只会打印 John 4 次,依此类推。
ClassRoster 类中的 toString 方法:
public String toString(){
String classString = "";
for(Student student : roster){
classString = student.toString(); //The student object uses another toString method in the Student class
}
return classString;
}
慕的地8271018
至尊宝的传说
相关分类