2014-02-13 150 views
0

那裏我有一個問題。我努力做到這一點沒有問,但經過幾個小時的搜索和嘗試,我似乎無法使其工作。這是一個分配。我只需要指導。如何返回對象數組的值

我要創建下列對象

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

教室對象初始化一個arrray在那裏我會存放Student對象。

然而,在課堂()數組被聲明爲使用公共方法私有(私人學生學生[]),所以我加入了學生

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

我也可以使用返回數組的值get方法

public Student getStudent(int position) 

這些方法在賦值中設置。

我的問題是,當我嘗試輸出數組中的對象(同樣,這是分配所必需的)。我得到了參考文獻,即Student @ 23e45e23,而不是每個對象的名稱和GPA。

我不能使用toString。

任何想法?

+0

你必須爲Student實現一個toString方法,否則它會給你一個默認的方法(memoery地址)。 – Drogba

+0

如果你可以訪問學生的屬性,你可以做println getStudent(0).getName()+ getStudent.getGPA(); – connor

+0

我問老師,我不能使用toString,並且作業明確地說:「證明輸出必須來自對象返回到 您的主要方法由教室對象。」 (他的話)。 – user2861118

回答

3

您正在看到Object類的toString()方法的(非人爲友好的)輸出。

Student類定義toString()方法,這將覆蓋Object類(Student隱含延伸)發現實施

喜歡的東西:

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

toString()方法被調用無論何時打印物體:

System.out.println(student); 

如果student不爲空,這與調用同樣的效果:

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

嘗試重寫toStringMethod()

方法一:

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

方法2:

化妝對象類

,然後使用該對象訪問變量的值。

0

我能夠最終解決它不使用的toString(不能使用)與

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

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

謝謝大家!