我有一個關於將對象添加到空數組單元格的問題。將對象添加到空單元格
我有一對夫婦,我創建學生(字符串名稱,雙擊GPA)
Student stu1 = new Student("Paul", 2.0);
Student stu2 = new Student ("John", 3.0);
Student stu3 = new Student("Simon", 2.0);
我有一個創建一個數組
Classroom class1 = new Classroom(3);
教室對象在課堂數組是私有的對象,所以我添加了學生使用
public boolean add(Student aStudent)
class1.add(stu1);
class1.add(stu2);
class1.add(stu3);
此方法檢查下一個空單元然後放入Student對象。如果數組已滿,則返回false。那些是我在做的任務中的條件。
以下是完整的add方法
public boolean add(Student aStudent) {
for(int i = 0; i <=(students.length-1); i++)
{
if (students[i] == null)
students[i] = aStudent;
}
return true; //not important for my question
}
我也有一個返回Student對象的引用get方法
public Student getStudent(int position)
最後我有一個的getName和getGPA方法返回名稱和GPA上面的getStudent方法
如果我運行代碼並要求輸出保存在數組中的三個學生對象的名稱,
System.out.println(stu1.getName(class1.getStudent(0)));
System.out.println(stu1.getName(class1.getStudent(1)));
System.out.println(stu1.getName(class1.getStudent(2)));
我得到:
保羅 保羅 保羅
我不明白爲什麼我得到這個輸出。我的代碼是正確的添加方法嗎?這似乎是合乎邏輯的:如果單元格爲空,則將值添加到它。如果沒有,則循環到下一個單元格並檢查。
爲什麼你總是在做stu1.getName,而不是使用所有3個STU實例。 –
Aaaaaaah !!!!!謝謝!!! – user2861118
我們都是無辜的複製和粘貼的受害者:) –