2014-12-03 52 views
0

我試圖編寫一個具有某些條件需要滿足的方法的代碼。我相信我需要使用不同班級的方法來滿足條件。我已經完成了最後2個條件,但是我不知道如何去處理其他問題,因爲我確實需要訪問不同類別的方法。你如何從其他課程調用方法?

+1

你在做一個類的實例嗎?我在任何地方都看不到。 – TooTiredToDrink 2014-12-03 21:46:39

回答

2

好像使用shtlCode,您可以從您shuttleMap獲得適當的Shuttle情況下,像這樣:

public boolean canTravel(int pCardId, String shtlCode) 
{  
    Shuttle shuttle = shuttleMap.get(shtlCode); 
    ... 

一旦你的Shuttle,然後你可以找到Asteroid這是目前:

Asteroid currentShuttleAsteroid = shuttle.getSourceAsteroid(); 

有這兩個對象,這是由你來確保條件已得到適當滿足。 (並且,爲了確保您的shuttleMap包含指定代碼的Shuttle等)

0

正如上面Craig所建議的,請保留您從哈希映射中獲取的Shuttle。您將需要它來執行大部分剩餘檢查。

canTravel被給予一個卡片ID,但將需要PearlCard本身。但是從哪裏得到它?三種可能性:

  • 調用者可以將PearlCard傳遞到canTravel而不是整數ID(如果有的話)。
  • canTravel可以在源小行星的PearlCards列表中搜索具有匹配ID的PearlCard。 (如果它不在那裏,那麼你無法繼續旅行。)
  • 或者您可能希望將所有PearlCards的HashList添加到您的程序中,類似於ShuttleMap。

然後得到航天飛機的目的地小行星,看看是否有空間多一個珍珠卡(比較珍珠卡列表的長度和小行星的容量)。同時檢查該卡是否有足夠的信用和評級小行星。 (你沒有顯示PearlCard類,所以我不知道確切的代碼,但我猜你會沒有那個部分的問題。)

注意:您目前的代碼似乎至少有一個錯誤。 canTravel在小行星列表中搜索卡片ID。就像我上面說過的,你需要從某個地方得到這張卡片,但它不會在asteroidList中。

相關問題