У меня вопрос о добавлении объектов в пустую ячейку массива.Добавление объекта в пустую ячейку
У меня есть несколько объектов, которые я создал студент (имя String, двойной 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
}
У меня также есть метод GET, который возвращает ссылку на объект Student
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)));
я получаю:
Пол Пол Пол
Я не понимаю, почему я получаю этот выход. Я правильно закодировал метод добавления? Кажется логичным: если ячейка равна null, добавьте к ней значение. Если нет, перейдите к следующей ячейке и проверьте.
Почему вы всегда делаете stu1.getName вместо того, чтобы использовать все 3 экземпляра Стю. –
Aaaaaaah !!!!! Благодаря!!! – user2861118
Мы все были невиновными жертвами копирования и вставки :) –