2014-02-13 4 views
0

Там у меня есть вопрос. Я стараюсь сделать это, не спрашивая, но после нескольких часов поиска и попытки, я не могу заставить работать. Это для присвоения. Мне просто нужно руководство.Как вернуть значение массива объектов

Я должен создать следующие объекты

Student(String name, double GPA) 
Classroom (int maxClassSize) 

Объект класса инициализирует arrray, где я бы хранить объекты универсиады.

Однако массив в классе() объявлен как частные (студенты частного студенческих []), поэтому я добавляющие студенты с использованием публичного метода

public boolean add(Student aStudent) *do not worry about the boolean type 

Я могу также возвращать значение массива с помощью get

public Student getStudent(int position) 

Эти методы заданы в задании.

Мой вопрос в том, когда я пытаюсь вывести объекты в массиве (это необходимо для назначения). Я получаю ссылку, то есть Student @ 23e45e23 вместо имени и GPA каждого объекта.

Я не могу использовать toString.

Любые идеи?

+0

Вы должны реализовать метод toString для Student, в противном случае он предоставит вам по умолчанию (адрес памяти). – Drogba

+0

, если вы можете получить доступ к свойствам ученика, вы можете сделать println getStudent (0) .getName() + getStudent.getGPA(); – connor

+0

Я спросил преподавателя, и я не могу использовать toString, и в задании конкретно говорилось: «Выход доказательства должен быть от объектов, возвращенных в ваш основной метод классом». (его слова). – user2861118

ответ

3

Вы видите (не относящийся к человеку) вывод метода toString() класса Object.

Определите метод toString() в вашем Student классе, который будет переопределение реализация находится в Object класса (который Student неявно проходит)

Что-то вроде:

@Override 
public String toString() { 
    return firstName + " " + lastName + " - " gpa; 
} 

Метод toString() называется всякий раз, когда вы печатаете объект:

System.out.println(student); 

если student не равно нулю, это имеет тот же эффект, вызывая:

System.out.println(student.toString()); 
0

Try переопределения toStringMethod()

Method1:

class Studet{ 
// 
// 
// 
public String toString(){ 
return name+""+GPA; 
} 

Method2:

макияж объект класса

, а затем получить доступ к значениям переменных, используя этот объект.

0

я смог решить его окончательно без использования ToString (не использовать) с

(student1.getName(classroom.getStudent(0)) 

и

(student1.getGPA(classroom.getStudent(0)) 

Спасибо всем!

Смежные вопросы