繁体   English   中英

您如何从另一个类调用方法?

[英]How do you call a method from another class?

我正在尝试为具有某些需要满足的条件的方法编写代码。 我认为我需要使用其他类中的方法来满足条件。 我已经完成了最后两个条件,但是我对如何处理其他条件一无所知,因为我确实需要访问其他类中的方法。

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

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

有了Shuttle ,您就可以找到当前所在的Asteroid

Asteroid currentShuttleAsteroid = shuttle.getSourceAsteroid();

有了这两个对象,您可以确保已正确满足条件。 (并且,还要确保您的shuttleMap包含具有指定代码的Shuttle ,等等)。

正如克雷格(Craig)上面建议的那样,保留从哈希图中获取的航天飞机。 您将需要它来执行剩余的大多数检查。

canTravel被赋予了卡ID,但是将需要PearlCard本身。 但是从哪里得到呢? 三种可能性:

  • 调用者可以将PearlCard传递给canTravel而不是整数ID(如果有)。
  • canTravel可以在源小行星的PearlCards列表中搜索具有匹配ID的PearlCard。 (如果它不在其中,那么您将无法旅行。)
  • 或者,您可能希望将所有PearlCard的哈希列表添加到程序中,类似于ShuttleMap。

然后获得航天飞机的目的地小行星,看看是否还有空间容纳一张PearlCard(将PearlCard列表的长度与小行星的容量进行比较)。 还请检查该卡是否具有足够的信用度和该小行星的评级。 (您没有显示PearlCard类,所以我不知道确切的代码,但是我猜您在那部分不会有任何麻烦。)

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM