【发布时间】:2015-06-04 12:53:45
【问题描述】:
我不是 Java 新手,但我无法理解最近发生的问题。
我必须用 Java 模拟道路系统。为了正确的 OOP,我有一个类 Car 和一个类 Street(当然还有其他几个来管理整个模拟^^)。我已经设法模拟了一条道路上的拥堵,并且没有任何问题。
好的,问题来了:我想将我的模拟从一条孤独的街道扩展到一个道路系统。所以我想到了一个名为“RoadSystem”的类,它可能有一系列街道和某种连接(我想到了“结”),让汽车在到达街道尽头时知道他们可以在哪里行驶继续开车。
问题是我不知道如何实现这些结。汽车必须能够问街上“嘿兄弟,我在你的尽头,我现在可以在哪里开车?”街道应该以某种方式知道哪个结引用了它,并询问它也连接到这个特定结的街道。我该如何做这个参考? 我想到了一个 ID,但是如果街道必须搜索每个节点的街道 ID 以便在那里找到自己的 ID,那么对于更大的道路系统来说,这可能会变得非常慢。还是我错过了解决问题的明显方法?
高度赞赏每一个帮助!
来自德国的问候,
拉菲
【问题讨论】:
-
最终的答案取决于你想在模拟中加入的细节。它是否必须考虑车道方向和交叉路口(等)上的交叉车辆?还是说交叉路口只是一个抽象的东西,可以从一条路“切换”到另一条路?
-
街道(及其交叉点)可以建模为 GRAPH introcs.cs.princeton.edu/java/45graph
-
看看这个 SO 答案stackoverflow.com/questions/51574/…
-
@dognose 该解决方案应该很容易扩展到更多细节。
标签: java oop object simulation traffic-simulation