将Object添加到空单元格

时间:2014-02-14 05:05:38

标签: arrays object cell

我有一个关于将对象添加到空数组单元格的问题。

我有几个我创建的对象(String name,double 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。这些是我正在做的任务中的条件。

这是完整的添加方法

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方法来返回上面的getStudent方法的名称和GPA

如果我运行代码并要求输出保存在数组中的三个学生对象的名称,

System.out.println(stu1.getName(class1.getStudent(0)));
System.out.println(stu1.getName(class1.getStudent(1)));
System.out.println(stu1.getName(class1.getStudent(2)));

我明白了:

保 保罗 保罗

我不明白为什么我得到这个输出。我是否正确编写了添加方法?这似乎是合乎逻辑的:如果单元格为null,则将值添加到它。如果没有,请循环到下一个单元格并检查。

1 个答案:

答案 0 :(得分:0)

我想这个:

if (students[0] == null)
    students[0] = aStudent;

应该是这样的:

if (students[i] == null)
    students[i] = aStudent;