2012-03-04 10 views
-1

retriveRoomメソッドを呼び出してルーム[connectedRoom]オブジェクトを返すにはどうしたらいいですか?そしてルームクラス内のメソッドのオブジェクトプロパティを使用しますか?どんな助けでも大歓迎です。それは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

あなたの構文は、(もちろん星なしで)うまく見えます。あなたの問題は何ですか? –

+0

room.numLightsが見つからないというエラーが表示されています。オブジェクトのプロパティにアクセスできる必要がありますか? – user969729

+0

ああ、編集したら、もっと明らかになった。また、質問にエラーメッセージを追加してください。 –

答えて

3

メソッドを呼び出す前にルームを返すか、オブジェクトをキャストするメソッドを変更してみてください。

のいずれかをこの:

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

またはこの:

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

あなたは、あなたの問題が何であるかを言うことはありません。それが何を示唆するかを理解するのに役立ちます。

+0

私はこれをやろうとしましたが、ルームルーム=(部屋)の部分に「記号を見つけることができません」というエラーが表示されています – user969729

+0

@ user969729:CaPiTaLiZaTiOnは問題です! '(room)!=(Room)' –

+1

あなたの部屋があなたのものなのかどうか分かりません。あなたが他の情報を提供しなかったので私は推測しました。ルームクラスやインターフェイスがない場合は、私の推測を無視して、そのタイプが何であるべきかに関する詳細な情報を提供してください。 – duffymo

2

なぜ、オブジェクトではなくルームを返すようにメソッドを宣言するのはなぜですか?

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

ルームクラス は問題ありません。 {詳細情報を入力してください} 何らかの方法で が検索されたオブジェクトをルームクラスに変換します。

関連する問題