你如何从另一个班级调用一个方法?

时间:2014-12-03 21:44:16

标签: java methods

我正在尝试为具有某些需要满足的条件的方法编写代码。我相信我需要使用来自不同类的方法来满足条件。我已经完成了最后两个条件,但我不知道如何去解决其他问题,因为我确实需要从不同的类中访问方法。

2 个答案:

答案 0 :(得分:2)

似乎使用shtlCode,您可以从Shuttle获取正确的shuttleMap个实例,如下所示:

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

获得Shuttle后,您可以找到当前所在的Asteroid

Asteroid currentShuttleAsteroid = shuttle.getSourceAsteroid();

拥有这两个对象后,您需要确保已正确满足条件。 (另外,为确保您的shuttleMap包含指定代码的Shuttle等)。

答案 1 :(得分:0)

正如Craig上面提到的那样,保留从hashmap中获取的Shuttle。您需要它来实现大部分剩余的检查。

canTravel会获得一张卡片ID,但需要使用PearlCard。但是从哪里得到它?三种可能性:

  • 调用者可以将PearlCard传递给canTravel而不是整数ID(如果有的话)。
  • canTravel可以在源小行星的PearlCards列表中搜索具有匹配ID的PearlCard。 (如果它不在那里,那么你无论如何也不能旅行。)
  • 或者您可能想要将所有PearlCards的HashList添加到您的程序中,类似于shuttleMap。

然后获得航天飞机的目的地小行星,看看是否还有一个珍珠卡的空间(比较PearlCard列表的长度和小行星的容量)。还要检查该卡是否对该小行星有足够的信用和评级。 (你没有展示PearlCard课程,所以我不知道确切的代码,但我猜你会对这部分没有任何麻烦。)

注意:您当前的代码似乎至少有一个错误。 canTravel在小行星列表中搜索卡ID。就像我上面说过的那样,你需要从某个地方获取卡片,但它不会出现在asteroidList中。