2012-11-28 57 views
-1

好的,所以我有一個類A和一個類B,而類A包含一個B的數組,這裏是我的代碼在數組中添加一個新的B.對象的數組幫助! (數組類型被解析爲類的類型)

public void addNewB(B b){ 
    course[noOfBs]= b; 
    noOfBs++; 
} 

的Java說「類型的表達式必須是一個數組類型,但它解決到B」

我的理論添加到陣列是自noOfB的是數組 在未來空指數(假設沒有被刪除),所以這段代碼只會將B放入下一個空槽。

爲什麼這不起作用? :( (約可憐的佈局很抱歉,我不能工作了這個網站!)

+3

,你能否告訴變量當然和noOfBs的聲明? –

+1

*「(抱歉關於佈局不好,我無法制作出這個網站!)」*在你輸入這個問題的頁面上有很多格式化信息。所有你需要做的格式化代碼都是用四個空格縮進的。完成。 –

回答

3

錯誤提示的類型你的變量course實際上是B,不B[]看看聲明 - 我敢相信你會發現它看起來是這樣的:

B course; 

如果不是的話,也請編輯您的問題,包括報關

,可以考慮使用List<B>,所以你可以使用:

public void addNewB(B b) { 
    course.add(b); 
} 

...並完全刪除您的noOfBs變量。

0

我想你在做錯事。因爲你沒有給出完整的信息。我會假設你的聲明或者你調用函數的方式可能是錯誤的。這應該工作。

B course[]=new B[MAX_COURSES]; /* This declares an array of refereneces */ 

public void addNewB(B b){ 
    course[noOfBs]= b; 
    noOfBs++; 
} 

調用函數:

B course1=new B(); b.setCourseName("....") /* Make the object of B */ 
addNew(course1);