2012-03-04 182 views
-1

如何調用retriveRoom方法並返回房間[connectedRoom]對象,並使用ROOMS CLASS中的方法內的對象屬性?任何幫助是極大的讚賞。這是說它無法找到system.out.println中的room.numLights?將對象返回方法

//MASTERCONTROLPANEL CLASS 

public static Object retrieveRoom(int connectedRoom){ 
    connectedRoom -= 1; 
    return rooms[connectedRoom]; 
    } 


//ROOMS CLASS 
public void roomHeatLoss(){ 
    //I am having problems with the line below// 
    ***Object room***= MasterControlPanel.retrieveRoom(1); 
    System.out.println("" + room.numLights); 
} 
+0

你的語法看起來很好(當然沒有星星)。這裏你的問題到底是什麼? – 2012-03-04 23:35:49

+0

我收到錯誤,說它無法找到room.numLights,我需要能夠訪問對象的屬性? – user969729 2012-03-04 23:39:02

+0

啊,現在與編輯更清楚。也請將錯誤消息添加到問題中。 – 2012-03-04 23:41:23

回答

3

試着改變方法返回房間或之前調用方法鑄造的對象。

無論是這樣的:

public static Room retrieveRoom(int connectedRoom){ 
    return rooms[connectedRoom]; 
} 

或本:

public void roomHeatLoss(){ 
    Room room = (Room)MasterControlPanel.retrieveRoom(1); 
} 

你不說你的問題是什麼。這將幫助我們弄清楚建議的內容。

+0

我試過這樣做,但我得到的錯誤說房間=(房間)部分「找不到符號」部分 – user969729 2012-03-04 23:45:28

+0

@ user969729:CaPiTaLiZaTiOn很重要! '(房間)!=(房間)' – 2012-03-04 23:51:36

+1

我不知道房間是不是你的類型;我猜是因爲你沒有提供任何其他信息。如果您沒有Room類或界面,請忽略我的猜測 - 並向我們提供有關類型應該是什麼的更多信息。 – duffymo 2012-03-05 00:04:00

2

爲什麼不簡單地聲明返回房間而不是對象的方法?

// public static Object retrieveRoom(int connectedRoom){ 
public static Room retrieveRoom(int connectedRoom){ 
    connectedRoom -= 1; 
    return rooms[connectedRoom]; 
} 
0

沒有得到您的問題 這是ROOM類。 {請給出詳細信息} 任何方式 將檢索到的對象轉換爲Room類。